当前位置: 首页 > 网络应用技术

使用无人机CI自动化部署静态博客

时间:2023-03-06 14:42:39 网络应用技术

  我一直想自动化博客,但是直到最近有时间才实施该计划。有许多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