Ubuntu部署Drone CI + Github

Ubuntu部署Drone CI + Github

参考官方文档

https://docs.drone.io/server/provider/github/

前提:

Docker

配置启动Drone CI Server

我们使用docker镜像启动DroneCI server.所以我们先看一下启动命令模版

docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_GITHUB_CLIENT_ID={{DRONE_GITHUB_CLIENT_ID}} \
  --env=DRONE_GITHUB_CLIENT_SECRET={{DRONE_GITHUB_CLIENT_SECRET}} \
  --env=DRONE_RPC_SECRET={{DRONE_RPC_SECRET}} \
  --env=DRONE_SERVER_HOST={{DRONE_SERVER_HOST}} \
  --env=DRONE_SERVER_PROTO={{DRONE_SERVER_PROTO}} \
  --publish=80:80 \
  --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:latest  #我发博文时的最新版

可以看到我们需要准备很多的环境变量配置信息.

准备

注册Github OAuth Application信息

参考官方文档:Creating an OAuth App

Application Create

Application View

注意事项

HomePageURL表示DroneCI的域名或IP地址+端口,比如127.0.0.1:80

Authorization callback URL是DroneCI的Github登录回调,比如 127.0.0.1:80/login

生成通信秘钥

openssl rand -hex 16

07d004c348b72262bdc7fb6bc64e1275

设置变量信息

  • DRONE_GITHUB_CLIENT_ID: 在Github中创建OAuth Applucation时生成的Client ID
  • DRONE_GITHUB_CLIENT_SECRET: 在Github中创建OAuth Applucation时生成的Client Secret
  • DRONE_RPC_SECRET:通信秘钥,自定义设置,或者使用OpenSSL工具生成
  • DRONE_SERVER_HOST: Drone的server地址,设置为127.0.0.1作为本地地址,也可以设置为外部可访问的域名或IP地址
  • DRONE_SERVER_PROTO: Drone提供服务的prototype,可选为httphttps
DRONE_GITHUB_CLIENT_ID=60e8f8cb583488addf25a0
DRONE_GITHUB_CLIENT_SECRET=a4040b3f4649d7d4742bbe57d67de
DRONE_RPC_SECRET=07d004c348b72262bdc7fb6bc64e1275
DRONE_SERVER_HOST=124.xxx.xxx.xxx:10080
DRONE_SERVER_PROTO=http

启动Drone CI server

docker pull drone/drone:latest

docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_GITHUB_CLIENT_ID=${DRONE_GITHUB_CLIENT_ID} \
  --env=DRONE_GITHUB_CLIENT_SECRET=${DRONE_GITHUB_CLIENT_SECRET} \
  --env=DRONE_RPC_SECRET=${DRONE_RPC_SECRET} \
  --env=DRONE_SERVER_HOST=${DRONE_SERVER_HOST} \
  --env=DRONE_SERVER_PROTO=${DRONE_SERVER_PROTO} \
  --publish=10080:80 \
  --publish=10443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:latest  #我发博文时的最新版

访问http://127.0.0.1:80

配置启动Drone CI Runner

参考官方文档:https://docs.drone.io/runner/docker/overview/

docker pull drone/drone-runner-docker:latest

  docker run -d \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e DRONE_RPC_PROTO=http \
  -e DRONE_RPC_HOST=124.xxx.xxx.xxx:10080 \
  -e DRONE_RPC_SECRET=07d004c348b72262bdc7fb6bc64e1275 \
  -e DRONE_RUNNER_CAPACITY=2 \
  -e DRONE_RUNNER_NAME=${HOSTNAME} \
  -p 3000:3000 \
  --restart always \
  --name runner \
  drone/drone-runner-docker:linux-arm64
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值