我一直想自动化博客,但是直到最近有时间才实施该计划。有许多CI/CD工具。我认为无人机CI应该是非常合适的前端工具。基于Docker,它很简单,轻巧,支持主流代码监护网站,例如Github,Gitee,Gitlab,等。
我们需要录制的域名和服务器,并申请HTTPS证书的SSL证书。我使用Tencent Cloud的轻量级服务器,您可以自己选择。作为域名归档和SSL证书应用程序,各种平台相似。每个人都根据其文档解释。问题不应该太多,所以我不会一一重复它们。
拥有服务器后,我们需要安装Docker和Docker-Compose,以便我们可以直接运行Docker-Compose配置文件以轻松安装无人机CI。本文主要解释了无人机CI,因此安装和使用Docker和Docker和使用Docker-Compose。您可以自己学习并已安装为默认值。
代码保管网站使用Gitee代码云。
您可以通过Docker-Compose配置文件轻松安装无人机CI,并创建一个新的Docker-compose.yml文件。内容如下
配置文件中的一些常用参数已在上面的注释中解释。这里
无人机服务器的基本镜像版本,端口设置,网络设置将不会重复描述。这些是Docker组成的最常见配置,主要是环境中的参数描述
DRONE_SERVER_PROTO和DRONE_SERVER_HOST此参数设置在代码保管网站的配置中。详细的配置将在稍后解释,每个代码监护网站的配置相似。该URL是无人机CI的管理网站。
drone_rpc_secret此参数是无人机服务器和无人机运行器的秘密。使用OpenSSL在服务器上生成。
drone_user_create此参数非常重要。它是无人机CI管理网站的登录帐户。此帐户名称必须与代码监管网站的用户名一致,以便您可以登录到管理员帐户。在运行时,权限将报告错误
drone_database_driver数据库类型是上面配置的数据库
drone_database_datasource postgres:// username:password@db/db_name?sslmode = disable。在此参数中,用户名是由数据设置的用户名。密码是数据库登录密码。这些参数是上述数据库的配置参数
DRONE_GITEE_CLIENT_ID和DRONE_GITEE_CLIENT_SECRET在代码监管网站上获得。我使用gitee代码云。如何应用?
1.寄存器代码云
2.创建OAuth应用程序
输入代码云设置中心并查找第三方应用程序
点击创建一个应用程序
填写创建申请所需的信息
创建成功后,输入应用程序详细信息
客户端ID和客户端秘密是drone_gitee_client_id和drone_gitee_client_secret
无人机跑步者drone_rpc_proto和drone_rpc_host和drone_server_proto,drone_server_host是相同的
DRONE_UI_USERNAME和DRONE_UI_PASSWORD将帐户信息更改为无人驾驶运行者帐户信息。与Drone Server不同,无人机Runner的管理接口主要查看服务器运行的一些信息,而无人机服务器的管理接口是管理应用程序的管理应用程序。
3.执行部署在Docker-Compose配置文件的当前目录中,执行Docker-Compose,无人机CI将自动自动安装它
如果安装中没有错误,请输入浏览器并输入您配置的Drone_server_host(前提到域名已通过了分析),您可以输入
登录成功后,输入主页,此时您将同步代码监护网站下的所有项目
单击不需要的项目,您将直接输入设置配置页面
单击激活重新定位按钮激活项目,激活项目将输入配置详细信息页面
如果管理员登录,则将出现5个项目设置中的5个选项,否则仅出现第一个选项,并打开第二个选项。
最终保存更改,保存更改,此时项目正在激活项目
此时,已经配置了整个无人机CI服务,因此如何继续部署我们的项目?对于那些对CD有一定了解的人,他们都知道,当我们进行GIT推动时,该项目将通过webhooks,然后绘制代码并重新删除代码以完成CI/CD。重要的配置文件之一启动到重要角色,通常将YAML文件添加到我们的项目中。CI服务将读取此文件以执行过程并完成部署。ADDa .drone.yml文件到无人机CI中项目的根目录。如何编写此文件,我以博客项目为例。以下是其配置文件内容
.drone.yml文件的写作更为复杂。有关详细信息,请检查无人机文档。在它们的情况下,DingTalk-Push是在部署完成后通知指甲。请检查指甲的文档。请检查插件文档以获取插件的详细配置
原始:https://juejin.cn/post/709821777750569369613