如何使用 Drone一键应用镜像

介绍

DigitalOcean的Drone One-Click应用程序映像提供了一种在您控制的服务器上设置连续集成解决方案的简单方法。本教程将指导您完成创建新的DroneDroplet并将其配置为与现有github存储库配合使用的步骤。

第一步 - 创建一个drone.io Droplet

要开始使用新的Droplet运行drone.io只需创建一个Droplet,指定您的主机名和大小。 选择要创建新Droplet的区域。 从应用程序选项卡中选择Ubone 14.04上的Drone。 如果使用ssh键登录到你的Droplet,你可以在这里指定一个键。 现在点击create开始创建新的Droplet。

第二步 - 准备Github

现在,我们的Droplet正在创建,我们需要通过oAuth启用访问我们的GitHub帐户。我们将生成一对令牌,用于Drone配置。 我们需要从GitHub的帐户中生成这些值。 请点击这里进入到相应的设置页面在GitHub上,称为 应用程序 。 点击右上角的 注册新的应用程序按钮。这将打开一个新的表单填写: 添加您的 应用程序名称首页网址应为 HTTP:// YOUR_DROPLET_IP / 。 添加您的 应用程序的说明重要信息 :确保 授权回调URL设置为 HTTP://YOUR_DROPLET_IP/api/auth/github.com为了正确验证! 一旦你与设置,点击 注册申请被带到新的应用程序的信息页面。 你需要的信息,两位从这里, 客户ID客户端密钥 。 (保持客户端秘密实际上是秘密!这不是你应该与任何人分享!) 这些标记将被用来授权我们自己的Drone的应用程序网络挂接添加到任何GitHub的库,我们添加通过 控制板面板的嗡嗡声。 webhooks将触发我们推送到GitHub的每个新提交,这将导致Drone克隆新的更改并运行构建。 记下这些标记,因为我们将在下一步中需要它们。

第三步 - 配置Drone设置

使用ssh客户端登录到新的Droplet。如果您不使用基于ssh密钥的身份验证,系统将提示您提供新的root密码。 然后将显示一个提示,要求您配置drone.io。按 Enter键继续,你会问你要连接什么类型的存储库。
Drone Configuration
-------------------

This script will set up the initial configuration for your new drone installation.
More details on configuring drone can be found here: http://readme.drone.io/setup/config/settings/
If you choose not to configure drone at this time you will need to configure it manually by editing
the /etc/drone/drone.toml file manually.

Would you like to continue with automatic configuration? (Y/n)
1选择Github上,然后按 Enter。
Select a code repository
------------------------

1. Github
2. Github Enterprise
3. Bitbucket
4. Gitlab

Select one (1-4) and press Enter
提示时,从第二步输入您的 客户端ID客户端密钥
Github Configuration
--------------------
You must register your application with GitHub in order to generate a Client and Secret. Navigate to your account settings and choose Applications from the menu, and click Register new application.
Please use /api/auth/github.com as the Authorization callback URL path.
Additional information is available here: http://readme.drone.io/setup/config/github/

Client ID:
YOURCLIENTID
Secret:
YOURSECRET

配置SMTP(可选)

现在将提示您配置SMTP。如果您希望接收与您的版本相关的电子邮件通知,则需要此步骤。
SMTP Configuration
------------------

SMTP configuration for Drone. This is required if you plan to send email notifications for build statuses.
Do you want to set up SMTP at this time? (y/N)
如果选择(是),系统将提示您输入有关SMTP服务器和帐户的其他详细信息。如果选择(N)o,您将进入下一步。
Host:
smtp.example.com
Port:
25
From:
me@example.com
User:
me@example.com
Pass:
mypassword
现在将询问您是否要启用开放注册。如果您不选择允许开放注册,每个用户帐户将需要手动添加到Drone。
Open Registration
-----------------
Open Registration allows users to self-register for Drone. This is recommended if Drone is being hosted behind a firewall. When false, the system admin will need to manually add users to Drone through the admin screens.

Open Registration (T/f)?
您的新设置现在写入到文件 /etc/drone/drone.toml在那里你可以,如果需要进一步的编辑。

第四步 - 添加您的存储库

现在我们准备用您的初始帐户设置Drone。导航到 http://YOUR_DROPLET_IP/login 。您应该会看到如下所示的登录页面: 我们只在这里列出Github,因为这是我们之前设置的服务。现在点击 GitHub的按钮,然后在 授权的应用程序按钮启动登录和同步过程。 这是Drone的主要仪表板,你可以看到在您的帐户GitHub的最近三个库,并通过点击 浏览所有展开列表。 如果你所有的回购不会出现,只需点击 SYNC在右上角。 随意浏览仪表板。 接下来,我们需要允许访问您的各种Git存储库源。

第五步 - 从Github运行Build

找到要添加到Drone CI的存储库的名称并选择它。这将激活Drone并将webhook添加到您的存储库。 激活后,您将看到空的存储库状态页: 您可以使用右上角的按钮探索存储库的一些更高级的设置。

.drone.yml文件

我们需要在名为`存储库中的新文件 .drone.yml 。这将命令Drone并告诉它如何构建和测试GitHub存储库中的代码。这里是一个非常简单的文件,我们将用来测试Drone是否正确设置。
image: dockerfile/nginx
script:
- echo hello world
  • image定义我们是从拉动基本图像(图像可以从公共Docker注册表,私人注册,或当地建造)。在这种情况下,我们使用Nginx图像。
  • script简单地定义了Drone应执行的命令,以及以什么顺序。 -您可以用另一个定义多个脚本命令<command here>在新行。 (确保标签排队!)
这个脚本只是回应“hello world”来证明Drone正在工作。它实际上没有测试任何关于你的代码。 在真正的构建和测试场景中,您希望让Drone使用与您的生产环境匹配的Docker映像,并且您希望脚本测试存储库中的代码。 现在,提交您 .drone.yml文件到您的存储库。 这种承诺,并且在未来进行任何其他提交(任何文件,而不仅仅是 .drone.yml文件),将触发网络挂接雄蜂放置在你的仓库。Drone现在应该努力工作拉基本镜像,并运行您的构建脚本! Drone将检测新的提交,克隆对代码所做的任何更改,并按照.drone.yml文件中定义的说明进行操作。它将在页面底部显示一个通知,让您知道构建正在运行,单击它以查看构建状态页面。 构建将需要几分钟,因为Drone需要从Docker公共注册表中获取映像。 如果构建通过,您可以单击提交以查看更多详细信息。您应该看到类似以下的输出:
$ git clone --depth=50 --recursive --branch=master git://github.com/captainshar/dronetest.git /var/cache/drone/src/github.com/captainshar/dronetest
$ git checkout -qf 9908588ae4e4abcba8afb5029baad5c49a835ba4
$ echo hello world
hello world
$ exit 0
您可能还会看到一些与Perl相关的警告;没关系。 如果你完成了所有这些步骤和你的构建传递,你现在有你自己的个人Drone.io工人准备好构建和测试几乎任何基于语言的项目! Drone还支持Bitbucket和GitLab,使用OAuth的设置过程与Github的相同。要添加其他服务,您将需要编辑/etc/drone/drone.toml文件添加 适当的设置
DRONE_BITBUCKET_CLIENT
DRONE_BITBUCKET_SECRET
DRONE_GITLAB_URL
...
然后您可以重新启动Drone以使更改生效:
service drone restart

下一步

现在,您已经准备好Drone运行构建,您可以修改 .drone.yml做一些更高级的测试。 例如,如果你想使用一个测试框架,如噶或摩卡测试节点的应用程序,您可以更改 image部分官方节点 image ,并改变脚本部分执行新公共管理和运行测试! 看看周围的一看 Docker登记为可能适合你的应用程序的图像。 如果你想获得真正看中的,你可以看看一些所谓的 Drone华尔街提供您的所有版本状态的显示板。 有乐趣指挥你的Drone!
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏