起源
从哪里听到了drone ci这个东东。
第一次听到这个是在一个微信群里,看到这个东西的时候一脸懵逼。咋有了Jenkins这么给力的东西为啥还要用这个。
为什么决定用这个。
在了解了之后就决定自己尝试一下看看,毕竟Jenkins的界面太丑了。哈哈
准备
- 服务器一台:配置2C8G(腾讯云搞活动搞到的)
- docker安装:(version 19.03.4)
- drone ci [github.com/drone/drone]
开始
- 参考地址:[docs.drone.io/installatio…],因为自己已经搭建了gitlab,所以直接用gitlab
-
创建oauth application
-
下载drone,直接上最新版
docker pull drone/drone:1.6.2
-
docker run
docker run \ --volume=/var/lib/drone:/data \ --env=DRONE_AGENTS_ENABLED=true \ --env=DRONE_GITLAB_SERVER=xxxxx \ --env=DRONE_GITLAB_CLIENT_ID=xxxx \ --env=DRONE_GITLAB_CLIENT_SECRET=xxxx \ --env=DRONE_RPC_SECRET=xxx \ --env=DRONE_SERVER_HOST=xxxx \ --env=DRONE_SERVER_PROTO=http \ --publish=980:80 \ --publish=9443:443 \ --restart=always \ --detach=true \ --name=drone \ drone/drone:1.6.2
-
安装Docker Runners
- 下载docker-runner-docker 1.0.1版本
docker pull drone/drone-runner-docker:1.0.1
- docker run
docker run -d \ -v /var/run/docker.sock:/var/run/docker.sock \ -e DRONE_RPC_PROTO=http \ -e DRONE_RPC_HOST=xxx \ -e DRONE_RPC_SECRET=xxxx \ -e DRONE_RUNNER_CAPACITY=2 \ -p 3000:3000 \ --restart always \ --name runner \ drone/drone-runner-docker:1.0.1
- 下载docker-runner-docker 1.0.1版本
-
结果
- 访问drone ci web界面、
- 点击试试。
- 解决办法
- 问题原因:gitlab的nginx反向代理时最后加了一个“/”
- 解决办法:在[discourse.drone.io/t/error-act…]找到了原因。
留几个问题
- drone是否支持多个git源?
- drone是否有办法做到环境区分?