安装 Gogs
建议使用 docker
1 2
| sudo docker run -d --name=gogs -p 3022:22 -p 3000:3000 -v /gogs/data:/data gogs/gogs
|
设置数据库连接方式,连接Mysql,待配置完成后,可登陆使用,可以作为私有 git 仓库,UI 比较简洁,基于 go 开发,性能很不错,而且占用系统资源非常少。
安装 Drone
建议使用 docker
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| sudo docker network create drone
sudo docker run -d \ -e DRONE_AGENTS_ENABLED=true \ -e DRONE_GOGS_SERVER=http://192.168.100.3:3000 \ -e DRONE_RPC_SECRET=RdZneT4mOT2v1MCOdA3tLW2CtyHxnWaU \ -e DRONE_SERVER_HOST=192.168.100.226:8080 \ -e DRONE_SERVER_PROTO=http \ -e DRONE_DATABASE_DRIVER=mysql \ -e DRONE_DATABASE_DATASOURCE='root:housirvip@tcp(192.168.100.3:3306)/drone?parseTime=true' \ -e TZ=Asia/Shanghai \ -p 8080:80 \ -p 8443:443 \ --name=drone \ --network drone \ drone/drone:1
sudo docker run -d \ -v /var/run/docker.sock:/var/run/docker.sock \ -e DRONE_RPC_PROTO=http \ -e DRONE_RPC_HOST=drone \ -e DRONE_RPC_SECRET=RdZneT4mOT2v1MCOdA3tLW2CtyHxnWaU \ -e DRONE_RUNNER_CAPACITY=2 \ -e DRONE_RUNNER_NAME=${HOSTNAME} \ -e TZ=Asia/Shanghai \ -p 3000:3000 \ --name runner \ --network drone \ drone/drone-runner-docker:1
|
Drone 设置 CLI
1 2 3 4 5 6 7 8 9 10 11 12 13
| brew tap drone/drone brew install drone
curl -L https://github.com/drone/drone-cli/releases/latest/download/drone_linux_amd64.tar.gz | tar zx sudo install -t /usr/local/bin drone
export DRONE_SERVER=http://192.168.100.226:8080 export DRONE_TOKEN=RZtKdJC32PNT1EeE93xBkcqTasdGwqbv
drone info
|
Drone 设置 CronJob
1 2 3 4 5 6
| drone cron add [repo] [name] [time]
drone cron add "org/repo" "name" "0 0 0 * * *"
drone cron add "org/repo" "name" "0 0 * * * *"
|
也可以在 UI 中设置,但是没法设置时间,只能选择预设
Drone 设置 Secret
1 2 3 4 5 6 7 8
| drone secret add [repo] [name] [value]
drone secret add housirvip/hello-world my_token e72e16c7e42f29
drone orgsecret add [organization] [name] [data]
drone orgsecret add housirvip my_token e72e16c7e42f29
|
也可以在 UI中设置,但是不能设置 orgsecret
Drone 设置 Pipeline
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| --- kind: pipeline name: node14
steps: - name: npm_run_start image: node:14 commands: - npm install - npm run start environment: JD_COOKIE: from_secret: JD_COOKIE JD_COOKIE_2: from_secret: JD_COOKIE_2 SERVER_CHAN: from_secret: SERVER_CHAN UPDATE: true
|
配置完成
配置完成后不仅可以自动对新提交的代码进行编译测试,也可以定时执行脚本,如签到、打卡之类的脚本,下图就是京东 APP 自动签到,领京豆的一个小脚本,蚊子腿,积少成多~