我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

如果您厌倦了一遍又一遍地克隆、构建、测试和部署代码,请考虑持续集成。持续集成,简称 CI,是一种软件工程实践,用于构建、测试和部署像我们这样频繁提交的代码库。 CI可以帮助我们快速地将新代码集成到现有的代码库中。如果这个过程是自动化的,它将提高开发速度,因为它可以减少开发人员手动构建和测试所花费的时间。 Drone[1]是一个免费的开源项目,提供了良好的持续集成服务环境,并在2.0协议下发布。它已与许多代码库提供商集成,例如 、 和 Code。它可以从代码库中提取代码,允许我们编译包括PHP、Node、Ruby、Go、Dart、C/C++、JAVA等各种代码库语言的编译和构建。这是一个非常强大的平台,使用容器和技术,使用户可以完全控制自己的构建环境,并保证每次构建时的隔离。

安装微信_linux sqlite3 安装_安装充电桩的要求和流程

1. 安装

首先,我们必须安装它,因为这是 Drone 工作流程中最关键的元素。无人机被明智地用于构建和测试应用程序。容器技术提高了应用部署的效率。要安装,我们需要在不同的Linux发行版上运行以下相应的命令。我们在这里解释14.04和7版本。

要在 上安装,我们只需运行以下命令。

  1. # apt-get update

  2. # apt-get install docker.io

安装完成后我们需要使用命令来重新启动引擎。

  1. # service docker restart

然后我们让它在系统启动时自动启动。

  1. # update-rc.d docker defaults

  2. Adding system startup for /etc/init.d/docker ...

  3. /etc/rc0.d/K20docker -> ../init.d/docker

  4. /etc/rc1.d/K20docker -> ../init.d/docker

  5. /etc/rc6.d/K20docker -> ../init.d/docker

  6. /etc/rc2.d/S20docker -> ../init.d/docker

  7. /etc/rc3.d/S20docker -> ../init.d/docker

  8. /etc/rc4.d/S20docker -> ../init.d/docker

  9. /etc/rc5.d/S20docker -> ../init.d/docker

首先,我们要更新计算机上已安装的软件包。我们可以使用以下命令。

  1. #  sudo yum update

要在 上安装,我们只需运行以下命令即可。

  1. #  curl -sSL https://get.docker.com/ | sh

安装好引擎后,我们只需要简单的使用下面的命令来启动它,因为7的默认初始化系统是.

  1. # systemctl start docker

然后我们希望它在系统启动时自动启动。

  1. # systemctl enable docker

  2. ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'

2.安装驱动

Drone默认使用数据库服务器来保存数据和信息。它将自动创建一个名为drone的数据库。在 /var/lib/drone/ 中处理数据库模式的创建和迁移。要安装,我们需要完成以下步骤。

14.04

由于它存在于 14.04 的默认存储库中,因此我们只需使用 apt 命令安装它即可。

  1. # apt-get install libsqlite3-dev

7

要在 7 上安装,您需要使用以下 yum 命令。

  1. # yum install sqlite-devel

3. 安装无人机

最后,我们已经安装了相关软件,距离安装 Drone 又近了一步。在这一步中,我们只需从官方链接下载相应的二进制包,然后使用默认的包管理器安装 Drone 即可。

我们将使用 wget 从官方文件下载链接 [2] 下载无人机包。以下是下载命令。

  1. # wget downloads.drone.io/master/drone.deb

  2. Resolving downloads.drone.io (downloads.drone.io)... 54.231.48.98

  3. Connecting to downloads.drone.io (downloads.drone.io)|54.231.48.98|:80... connected.

  4. HTTP request sent, awaiting response... 200 OK

  5. Length: 7722384 (7.4M) [application/x-debian-package]

  6. Saving to: 'drone.deb'

  7. 100%[======================================>] 7,722,384 1.38MB/s in 17s

  8. 2015-11-06 14:09:28 (456 KB/s) - 'drone.deb' saved [7722384/7722384]

下载后,我们将使用 dpkg 包管理器安装它。

  1. # dpkg -i drone.deb

  2. Selecting previously unselected package drone.

  3. (Reading database ... 28077 files and directories currently installed.)

  4. Preparing to unpack drone.deb ...

  5. Unpacking drone (0.3.0-alpha-1442513246) ...

  6. Setting up drone (0.3.0-alpha-1442513246) ...

  7. Your system ubuntu 14: using upstart to control Drone

  8. drone start/running, process 9512

在机器上我们需要使用wget命令从下载链接[3]下载RPM包。

  1. # wget downloads.drone.io/master/drone.rpm

  2. --2015-11-06 11:06:45-- http://downloads.drone.io/master/drone.rpm

  3. Resolving downloads.drone.io (downloads.drone.io)... 54.231.114.18

  4. Connecting to downloads.drone.io (downloads.drone.io)|54.231.114.18|:80... connected.

  5. HTTP request sent, awaiting response... 200 OK

  6. Length: 7763311 (7.4M) [application/x-redhat-package-manager]

  7. Saving to: drone.rpm

  8. 100%[======================================>] 7,763,311 1.18MB/s in 20s

  9. 2015-11-06 11:07:06 (374 KB/s) - drone.rpm saved [7763311/7763311]

然后我们使用yum来安装rpm包。

  1. # yum localinstall drone.rpm

4. 配置端口

安装完成后,我们需要对其进行配置才可以工作。无人机配置文件位于 /etc/drone/drone.toml 中。默认情况下,drone的Web界面使用80,这也是http的默认端口。如果我们修改的话,请修改配置文件中对应的值,如下所示。

  1. [server]

  2. port=":80"

5. 整合

为了运行 Drone,我们必须至少设置一个与 Gogs 企业版关联的集成点。本文我们只集成了它,但是如果我们想集成其他服务,我们可以在配置文件中进行更改。要集成,我们需要在设置中创建一个新应用程序:。

安装微信_安装充电桩的要求和流程_linux sqlite3 安装

应用程序

要创建应用程序,我们需要单击“新建”页面并填写如下所示的表格。

OAuth 应用程序

我们应该确保在应用程序的配置项中设置了授权回调链接。该链接看起来很相似。然后我们点击注册应用程序。完成所有操作后,我们将看到需要在无人机配置文件中配置的客户端 ID 和客户端密钥。

安装充电桩的要求和流程_linux sqlite3 安装_安装微信

ID和令牌

这些完成后我们需要使用文本编辑器来编辑无人机配置文件,比如使用以下命令。

  1. # nano /etc/drone/drone.toml

然后我们会在drone配置文件中找到[]部分,后面是如下所示的配置内容

  1. [github]

  2. client="3dd44b969709c518603c"

  3. secret="4ee261abdb431bdc5e96b19cc3c498403853632a"

  4. # orgs=[]

  5. # open=false

linux sqlite3 安装_安装微信_安装充电桩的要求和流程

无人机

6.配置SMTP服务器

如果我们希望无人机使用电子邮件发送通知,那么我们需要在 SMTP 配置中设置 SMTP 服务器。如果我们已经有了SMTP服务,我们只需要简单的使用它的配置文件即可,但是因为我们没有SMTP服务器,所以我们需要安装一个MTA等,然后在无人机的配置文件中配置SMTP。

使用下面的 apt 命令来安装它。

  1. # apt-get install postfix

使用以下 yum 命令进行安装。

  1. # yum install postfix

安装后,我们需要编辑配置文件。

  1. # nano /etc/postfix/main.cf

例如,然后我们将用我们自己的 FQDN 替换 的值。

  1. myhostname = drone.linoxide.com

现在让我们配置无人机配置文件的 SMTP 部分。

  1. # nano /etc/drone/drone.toml

找到[smtp]部分并添加以下内容。

  1. [smtp]

  2. host = "drone.linoxide.com"

  3. port = "587"

  4. from = "root@drone.linoxide.com"

  5. user = "root"

  6. pass = "password"

安装微信_linux sqlite3 安装_安装充电桩的要求和流程

SMTP 无人机

注意:强烈建议这里的user和pass参数必须改为特定用户的配置。

7. 配置

我们知道,无人机是用来完成构建和测试任务的,我们需要将其配置为无人机。为此,您需要修改无人机配置文件中的 [] 部分。

  1. # nano /etc/drone/drone.toml

然后取消下面几行的注释并添加以下内容。

  1. [worker]

  2. nodes=[

  3. "unix:///var/run/docker.sock",

  4. "unix:///var/run/docker.sock"

  5. ]

这里我们只设置了两个节点,也就是说上面的配置文件只能同时执行2个构建操作。为了提高并发性,可以增加节点值。

  1. [worker]

  2. nodes=[

  3. "unix:///var/run/docker.sock",

  4. "unix:///var/run/docker.sock",

  5. "unix:///var/run/docker.sock",

  6. "unix:///var/run/docker.sock"

  7. ]

使用上面的配置文件drone被配置为使用本地守护进程同时构建4个任务。

8. 重启无人机

最后,当所有安装和配置准备就绪后,我们现在需要在本地 Linux 计算机上启动无人机服务器。

由于14.04使用默认的初始化系统,因此只需要简单执行以下命令即可启动无人机。

  1. # service drone restart

要使无人机在系统启动时自动运行,需要运行以下命令。

  1. # update-rc.d drone defaults

由于使用7作为初始化系统,因此只需运行以下命令即可重新启动无人机。

  1. # systemctl restart drone

要使无人机自动运行,只需运行以下命令。

  1. # systemctl enable drone

9.添加防火墙例外规则

众所周知,无人机默认使用80端口,我们也没有对其进行修改,所以我们需要配置防火墙程序,允许打开80端口(http),允许其他机器通过网络进行连接。

14.04

是最流行的防火墙程序,并且默认安装。我们需要修改它以公开端口 80,以便我们可以使网络上的每个人都可以访问无人机的 Web 界面。

  1. # iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

  2. # /etc/init.d/iptables save

7

由于默认安装7,因此它被用作防火墙程序。为了打开 80 端口(http 服务),我们需要执行以下命令。

  1. # firewall-cmd --permanent --add-service=http

  2. success

  3. # firewall-cmd --reload

  4. success

10.访问网页界面

现在我们将在我们最喜欢的浏览器上通过网络界面打开无人机。为此,我们将浏览器指向运行无人机的服务器。因为drone默认使用80端口并且我们没有修改,所以我们只需要在浏览器中输入or按照我们的配置即可。当我们正确完成以上操作后,就可以看到登录界面了。

linux sqlite3 安装_安装充电桩的要求和流程_安装微信

登录无人机

因为上面的步骤已经配置完毕,所以我们现在只需要简单选择并进入应用授权步骤即可。这些完成后我们就可以进入工作台了。

安装充电桩的要求和流程_linux sqlite3 安装_安装微信

无人机

这里它将同步我们在无人机上的代码库,然后询问我们要在无人机上构建哪个代码库。

linux sqlite3 安装_安装微信_安装充电桩的要求和流程

这一步完成后,它会要求我们在代码库中添加.drone.yml文件的新名称,并在这个文件中定义构建过程和配置项,比如使用哪个镜像,哪些命令和脚本执行编译等等等。

我们按如下方式配置 .drone.yml。

  1. image: python

  2. script:

  3. - python helloworld.py

  4. - echo "Build has been completed."

这一步完成后,我们就可以在drone应用程序中使用YAML格式的配置文件来构建我们的应用程序了。此时对代码库的所有提交和更改都将同步到此存储库。提交完成后,drone将自动开始构建。

安装微信_linux sqlite3 安装_安装充电桩的要求和流程

无人机

全部操作完成后,我们可以在终端中看到构建的结果。

建造无人机

总结

在本文中,我们学习了如何使用无人机安装有效的持续集成平台。如果我们愿意,我们甚至可以从 Drone.io 官方提供的服务开始工作。我们可以根据自己的需要从免费服务开始,也可以从付费服务开始。它以其漂亮的 Web 界面和强大的功能改变了持续集成的世界。它可以与许多第三方应用程序和部署平台集成。如果您有任何问题或建议,可以直接反馈给我们,谢谢。

通过:

作者:Arun Pyasi[4] 译者:ezio[5] 校对:wxy[6]

本文由 LCTT 原创编译[7],Linux China 自豪发布

[1]:

[2]:

[3]:

[4]:

[5]:

[6]:

[7]:

二维码
扫一扫在手机端查看

本文链接:https://by928.com/6836.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线