安装 docker 并拉取相关镜像
1 2 3
| docker pull gitea/gitea docker pull drone/drone docker pull drone/drone-runner-docker
|
安装 gitea
1 2 3 4 5 6 7 8
| docker run -d \ --name gitea \ --restart always \ -p 53022:22 \ -p 53080:3000 \ -m 400m \ -v /opt/docker/gitea/data:/data \ gitea/gitea:1.11.5
|
按照步骤完成安装 Gitea
后,打开 https://git.52xckl.cn/user/settings/applications
页面。
应用名称:drone
,重定向 URL:https://drone.52xckl.cn/login
填写完成后点击创建应用获取 客户端 ID
与 客户端密钥
。
创建 drone 与 drone-runner
${CLIENT_ID}
-> 客户端 ID
${CLIENT_SECRET}
-> 客户端密钥
${RPC_SECRET}
-> drone 与 drone-runner 通讯的密钥,随机生成即可
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker run -d \ --name drone \ --restart always \ -m 200m \ -p 54080:80 \ -e DRONE_GITEA_SERVER=https://git.52xckl.cn \ -e DRONE_GITEA_CLIENT_ID=${CLIENT_ID} \ -e DRONE_GITEA_CLIENT_SECRET=${CLIENT_SECRET}= \ -e DRONE_RPC_SECRET=${RPC_SECRET} \ -e DRONE_SERVER_HOST=drone.52xckl.cn \ -e DRONE_SERVER_PROTO=https \ -v /opt/docker/drone/data:/var/lib/drone \ drone/drone:1.7.0
|
1 2 3 4 5 6 7 8 9 10 11
| docker run -d \ --name drone-runner \ --link drone:drone \ --restart always \ -m 200m \ -e DRONE_RUNNER_NAME=runner-001 \ -e DRONE_RPC_PROTO=http \ -e DRONE_RPC_HOST=drone \ -e DRONE_RPC_SECRET=${RPC_SECRET} \ -v /var/run/docker.sock:/var/run/docker.sock \ drone/drone-runner-docker:1.3.0
|
最后 docker logs -f --tail 10 drone-runner
显示 successfully pinged the remote server
即为成功。
测试
首先打开 https://drone.52xckl.cn/
完成 OAuth2
认证并激活项目。
在激活的项目中创建名为 .drone.yml
的文件:
1 2 3 4 5 6 7 8 9
| kind: pipeline name: test type: docker steps: - name: test image: golang:1.14-alpine commands: - CGO_ENABLED=0 GO111MODULE=on go test -count=1 -cover -v ./... - CGO_ENABLED=0 GO111MODULE=on go run .
|
这段是 Go
相关项目的,如果编写该文件请查询相关官方文档。
参考文档