Drone持续集成服务私有部署

Author Avatar
wshunli 12月 31, 2018
  • 在其它设备中阅读本文章

本文介绍基于 Github 的 Drone 持续集成服务单机部署。

Docker 环境

首先应该安装 Docker 及 docker-compose 环境。

https://www.wshunli.com/posts/89bfe8.html

Github 应用注册

打开 Github New OAuth Application 注册应用程序。

github_application_create

创建完成,查看相应的 Client IDClient Secret 值。

github_application

创建 Drone 服务

直接执行以下明命令即可

docker run \
  --volume=/var/run/docker.sock:/var/run/docker.sock \
  --volume=/var/lib/drone:/data \
  --env=DRONE_GITHUB_SERVER=https://github.com \
  --env=DRONE_GITHUB_CLIENT_ID=xxx \
  --env=DRONE_GITHUB_CLIENT_SECRET=xxxxxx \
  --env=DRONE_RUNNER_CAPACITY=2 \
  --env=DRONE_SERVER_HOST=drone.wshunli.com \
  --env=DRONE_SERVER_PROTO=http \
  --env=DRONE_GIT_ALWAYS_AUTH=true \
  --env=DRONE_TLS_AUTOCERT=true \
  --publish=30080:80 \
  --publish=30443:443 \
  --restart=always \
  --detach=true \
  --name=drone \
  drone/drone:1.0.0-rc.3

其中
DRONE_GITHUB_CLIENT_ID 替换为自己应用的 Client ID 值;
DRONE_GITHUB_CLIENT_SECRET 替换为 Client Secret 值;
DRONE_SERVER_HOST 替换为欲解析的域名。

Drone 服务的使用

1、打开域名地址,授予权限

github_authorize_application

2、点击中间的 ACTICVE 按钮,即可开启持续集成服务。

drone_active_repositories

3、然后在 Github 源码仓库中,添加 .drone.yml 文件

kind: pipeline
name: default

steps:
- name: test
  image: node
  commands:
  - npm install
  - npm test

具体可参考官方文档。

4、以下是持续集成结果示例

drone_continuous_integration

参考资料
1、Drone Single Machine
https://docs.drone.io/installation/github/single-machine/
2、如何在Ubuntu上安装Drone持续集成环境 - 云+社区 - 腾讯云
https://cloud.tencent.com/developer/article/1180481
3、Drone安装指南 - 怡红院落
https://imnerd.org/drone-installation.html
4、基于Gogs+Drone搭建的私有CI/CD平台 | DongSheng’s Blog
http://www.mdslq.cn/archives/1a623683.html

如果本文对您有所帮助,且您手头还很宽裕,欢迎打赏赞助我,以支付网站服务器和域名费用。 https://paypal.me/wshunli 您的鼓励与支持是我更新的最大动力,我会铭记于心,倾于博客。
本文链接:https://www.wshunli.com/posts/b9adca20.html