入门系列之在Ubuntu上安装Drone持续集成环境

Drone是一个流行的持续集成和交付平台。它集成了许多流行的版本控制存储库服务,如GitHub,GitLab和Bitbucket,以监视代码更改并在提交时自动构建和测试更改。

在本教程中,我们将演示如何为您的设置完整的Drone持续集成环境。我们将配置受腾讯云SSL保护的Nginx作为Drone的前端。加密对Drone Web界面的请求,并允许CI服务器与源代码服务器安全地集成。

准备

要完成本教程,您需要一台已经设置好可以使用sudo命令的非root账号的CentOS服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后在购买服务器。

为了加密传输的内容,您还需要SSL证书,如何设置此证书**取决于你是否拥有可解析该服务器的域名。

如果你有域名,保护你网站的最简单方法是使用腾讯云SSL证书服务,它提供免费的可信证书。腾讯云SSL证书安装操作指南进行设置。

如果你没有域名,建议您先去这里注册一个域名,如果你只是使用此配置进行测试或个人使用,则可以使用自签名证书,不需要购买域名。自签名证书提供了相同类型的加密,但没有域名验证公告。关于自签名证书,你可以参考为Apache创建自签名SSL证书和如何为Nginx创建自签名SSL证书这两篇文章。您需要一个附加到CI服务器的域名才能正确设置它。

同时,您还需要提前安装好Docker、学会使用Docker Compose,并在你的服务器上安装好Nginx,学会配置SSL证书,具体教程如下:

如何在Ubuntu安装Docker

如何在Ubuntu安装Docker Compose:按照教程的第二步安装Docker Compose。

如何在Ubuntu安装Nginx:在服务器上安装Nginx。

如何使用Ubuntu的加密来保护Nginx:使用受信任的腾讯云SSL证书保护Nginx。

完成上述教程后,您的Drone服务器应具有:

sudo为管理任务配置的用户

启用了UFW防火墙,阻止除端口22,80和443上的SSH,HTTP和HTTPS请求之外的所有连接。

已安装Docker和Docker Compose。

Nginx服务器配置了由腾讯云提供的SSL证书

接下来我们继续安装教程。

将程序添加到源码存储库

为了监视代码更改以触发构建和测试阶段,Drone将需要访问您的源代码存储库。Drone可以与GitHub,GitLab,Gogs,Bitbucket Cloud和Bitbucket Server集成。

在本教程中,我们将重点关注与GitHub存储库的集成,其他系统应该与本教程类似。如果您使用的是其他源代码存储库,请按照上面的相应链接了解您需要的软件特定配置。

首先访问您的GitHub帐户。点击右上角的用户图标,然后从下拉菜单中选择设置

img

接下来,在屏幕左侧的“ 开发人员设置”部分中找到OAuth应用程序项:

img

在随后的页面上,单击“ 注册新应用程序”

img

接下来,您将看到OAuth申请注册表:

img

填写以下字段(这些字段存在于GitHub上。其他存储库提供程序可能有不同的提示):

应用程序名称:您选择用于标识集成的名称。如果您没有特殊需求,“Drone”是一个不错的选择。

主页URL:您的Drone服务器的域名。在这里使用https://,因为我们使用的是安全域。

应用程序描述:Drone的简单描述及其目的。

授权回调URL:这必须是https://,后跟Drone服务器的域名,后跟/authorize。如果我们的域名是example.com,这个文件将是。https://example.com/authorize

准备好后,单击“ 注册应用程序”

在下一页中,您将看到新应用程序的详细信息。我们需要的两个项目是客户端ID客户端密钥

复制这两个值。我们需要这些将Drone连接到我们的GitHub帐户。

拉取Drone Docker镜像并准备配置

可以在服务器上安装和配置Drone。Drone作为Docker容器分发,因此如果我们在Docker Compose文件中使用它,它将自动下载。为了略微加快这个过程,我们可以提前下拉镜像:

docker pull drone/drone:0.7

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpsswg.html