注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com
介绍
Drone是一个自动化,连续的测试和交付平台,可在您自己的基础架构上运行。无人机支持可以在Docker容器中运行的任何语言,服务或数据库。 Drone管道配置以YAML格式写入名为的文件中 .drone.yml
它位于项目的根目录中。无人机可以轻松地与Github,Gitlab,Bitbucket或Gitea集成。在本教程中,我们将把Drone与Github结合使用。
要求
至少具有2 GB RAM的新鲜Vultr Ubuntu 18.04实例。
具有sudo特权的非root用户。
Github帐户。
确保您的系统是最新的。
sudo apt update && sudo apt upgrade -y
步骤1:安装Docker CE
Docker提供了易于使用的安装脚本,可以在任何受支持的系统上执行。它将配置Docker官方存储库以及Docker Community Edition的安装。
安装最新版本的Docker。
curl -L https://get.docker.com | bash
安装Docker之后,将当前用户添加到 docker
组,以便我们可以从登录用户运行docker命令。
sudo usermod -aG docker $USER
为了使以上命令生效,您需要从终端注销并再次登录。
测试docker版本以确保我们可以成功运行 docker
命令。
docker --version
您将看到类似的输出。
user@vultr:~$ docker --version
Docker version 18.09.5, build e8ff056
第2步:获取Github客户端ID和密码
登录Github并导航到 注册一个新的OAuth应用程序。将您选择的任何名称提供给OAuth应用程序。提供 主页网址 如 https://203.0.113.101
和 授权回调网址 如 https://203.0.113.101/login
。请务必更换 203.0.113.101
使用您的实际Vultr IP地址或指向您的Vultr实例的任何域名。
一旦点击 Register application
按钮,您将获得一个 客户编号 和 客户机密。
记下这些内容,因为本教程将进一步要求它们。
步骤3:安装Drone CI
下载Drone的最新可用版本。
docker pull drone/drone:1
您随时可以在无人机上查看最新标签 docker枢纽页面。
创建一个新的环境文件来存储Drone配置。
sudo nano /var/drone.env
将以下配置放入编辑器。确保将示例值替换为实际值。
DRONE_GITHUB_SERVER=https://github.com
DRONE_GITHUB_CLIENT_ID=43ddc12735c28example
DRONE_GITHUB_CLIENT_SECRET=0b8c7c479fefb027758dbdfc5662b7c4example
DRONE_RUNNER_CAPACITY=2
DRONE_SERVER_HOST=https://203.0.113.101
DRONE_SERVER_PROTO=http
注意: DRONE_RUNNER_CAPACITY
可以根据实例上可用的RAM增加。
保存文件并退出编辑器。
通过运行以下命令来启动Drone。
docker run
--volume=/var/run/docker.sock:/var/run/docker.sock
--volume=/var/lib/drone:/data
--env-file=/var/drone.env
--publish=80:80
--publish=443:443
--restart=always
--detach=true
--name=drone
drone/drone:1
而已。要打开Drone网络用户界面,请访问 https://203.0.113.101
在浏览器中,然后使用您的Github帐户登录。
注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com