Drone与GitLab结合实现自动化部署

Drone与gitlab结合实现自动化部署

GitLab设置

在gitlab中注册一个账号,此账号用来对接drone,用此账号登录gitlab后,点击头像下拉里的设置,按下面截图操作

image.png
image.png

点击Applications后, 右边Name框输入一个名字,Redirect URI 为后面安装drone服务的登录地址,格式:http://ip:port/login,ip和端口根据实际情况设置,我这里是http://192.168.31.102:3080

保存后

image.png

这里的信息把上图的信息记录下来,后面安装drone会用到

Application: drone

Application ID 0aa1809a0bdbf1f826acfd112b9d489f074fb9ca633c2e78af9737cba00b76fa
Secret 9e84d46335ff0bdd26656d6b7257bc5cb3d81a78904a2f11e7f026f009012ada
Callback URL http://192.168.31.102:3080/login

用docker来安装drone

drone有个Server和Runner的概念,我们先来理解下:

  • Server:为Drone的管理提供了Web页面,用于管理从Git上获取的仓库中的流水线任务。
  • Runner:一个单独的守护进程,会轮询Server,获取需要执行的流水线任务,之后执行。
#拉取镜像
docker pull drone/drone
docker pull drone/drone-runner-docker

#运行
docker run \
  --volume=/var/lib/drone:/data \
  --env=DRONE_AGENTS_ENABLED=true   \
  --env=DRONE_GITLAB_SERVER=http://192.168.31.103  \
  --env=DRONE_GITLAB_CLIENT_ID=0aa1809a0bdbf1f826acfd112b9d489f074fb9ca633c2e78af9737cba00b76fa \
  --env=DRONE_GITLAB_CLIENT_SECRET=9e84d46335ff0bdd26656d6b7257bc5cb3d81a78904a2f11e7f026f009012ada \
  --env=DRONE_SERVER_HOST=192.168.31.102:3080 \
  --env=DRONE_SERVER_PROTO=http \
  --env=DRONE_TLS_AUTOCERT=false \
  --env=DRONE_LOGS_DEBUG=true \
  -e DRONE_RPC_SECRET=4f3b7f51e3dd678c08cf2d0675c66760 \
  --env=DRONE_USER_CREATE=username:flynn,admin:true \
  -e TZ="Asia/Shanghai" \
  --publish=3080:80 --publish=443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone
  
docker run -d -v /var/run/docker.sock:/var/run/docker.sock \
-e DRONE_RPC_PROTO=http \
-e DRONE_RPC_HOST=192.168.31.102:3080 \
-e DRONE_RPC_SECRET=4f3b7f51e3dd678c08cf2d0675c66760 \
-e DRONE_RUNNER_CAPACITY=2 \
-e DRONE_RUNNER_NAME=${HOSTNAME} \
-e TZ="Asia/Shanghai" \
-p 3000:3000 \
--restart always \
--name runner \
drone/drone-runner-docker

启动服务server和runner服务是注意:

DRONE_RPC_SECRET要一致

DRONE_SERVER_HOST和DRONE_RPC_HOST为droen-server对外访问地址,格式ip:port,ip和port都是宿主机的

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容