gogs-drone-ci

搭建 gogs + drone 持续集成系统

1. start gogs

docker run -d \
  -e TZ="Asia/Shanghai" \
  -v /data  \
  --net host \
  --restart=always \
  --name=gogs \
  gogs/gogs:0.11.29
  • gogs use v0.11.29, latest version webhook not work
  • 默认端口为 3000,使用宿主的 IP 地址访问 gogs 服务
  • 配置 gogs,使用 sqllite 数据库
  • 注册创建账户 wangding,第一个账户默认为管理员账户
  • 创建空的测试仓库 demo
  • 克隆 demo 仓库,git clone http://192.168.174.133:3000/wangding/demo.git
  • cd demo && echo 'hello' > a.txt
  • git add .
  • git commit -m "add a.txt"
  • git push
  • 检查 gogs 上的 demo 仓库,有最新的提交

2. start drone

docker run -d \
  -v /data \
  -e DRONE_AGENTS_ENABLED=true \
  -e DRONE_GOGS_SERVER=http://192.168.174.133:3000 \
  -e DRONE_RPC_SECRET=mydrone666 \
  -e DRONE_SERVER_HOST=192.168.174.133:8888 \
  -e DRONE_SERVER_PROTO=http \
  -e DRONE_USER_CREATE=username:wangding,admin:true \
  -e TZ="Asia/Shanghai" \
  -p 8888:80 \
  --restart=always \
  --name=drone \
  drone/drone:1
  • 注意 DRONE_GOGS_SERVER 和 DRONE_SERVER_HOST 两个参数的 IP 地址,使用宿主的 IP 地址
  • 端口号是 8888
  • 访问 drone 服务,http://192.168.174.133:8888
  • 用 gogs 的 wangding 账户登录
  • 可以看到 demo 仓库,激活 demo 仓库的自动化构建,勾选 project setting: trusted,允许 runner 构建 docker 镜像
  • 检查 gogs demo 仓库的 webhook 配置,drone 自动添加了 webhook 配置

3. start drone-runner

docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=http \
  -e DRONE_RPC_HOST=192.168.174.133:8888 \
  -e DRONE_RPC_SECRET=mydrone666 \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME=runner-docker \
  -e TZ="Asia/Shanghai" \
  -p 9999:3000 \
  --restart=always \
  --name=runner-docker \
  drone/drone-runner-docker:1
  • 注意 DRONE_RPC_HOST 参数的 IP 地址,使用宿主的 IP 地址

2018 -  by 王顶. All rights reserved.本站访客人数  人次

results matching ""

    No results matching ""