利用drone ci自动化部署静态博客的完整步骤

一直想自动化部署博客,但一直没有实施计划,直到最近有时间,就搞了起来。ci/cd的工具很多,我想drone ci应该是一款非常适合前端的工具,简单,轻量级,基于docker,支持主流代码托管网站,比如github,gitee,gitlab等等。,我们需要一个已备案的域名和服务器,并申请好ssl证书,用于https证书。我是使用腾讯云的轻量级服务器,大家可以自行选择。至于域名备案和ssl证书申请,各个平台大同小异,大家按照其文档说明弄,应该不会有太多问题,就不一一赘述了。,在有了服务器后,我们需要安装docker和docker-compose,这样我们直接运行docker-compose配置文件就可以轻松安装好drone ci。本文主要是讲解drone ci,所以docker和docker-compose的安装和使用,大家可以自行学习,在此当做默认已经安装。,代码托管网站使用了gitee码云。,通过docker-compose配置文件可以轻松安装drone ci,新建一个docker-compose.yml文件,内容如下,配置文件里一些常用参数在上面的注释里已经有解释,这里只讲解drone server和drone runner的配置项,基础的镜像版本,端口设置,网络设置不再赘述,这些都是docker compose最常见的配置,主要是environment里面的参数说明,这个参数是在代码托管网站的配置里设置的,详细配置会在后面说明,每个代码托管网站的配置大同小异,这个网址是drone ci的管理网站,可以查看drone ci运行的详细流程等,这个参数是drone server与drone runner通讯的秘钥,在服务器使用OpenSSL生成,生成方法如下,这个参数非常重要,为drone ci管理网站的登录账号,这个账号名一定要与代码托管网站的用户名一致,这样才能登录管理员账号,如果无法登录管理员账号,将无法授权拉取代码时的权限,运行时将会报错,利用drone ci自动化部署静态博客的完整步骤,数据库类型,就是上面自己配置的数据库,postgres://username:password@db/db_name?sslmode=disable,这个参数中username为数据设置的用户名,password为数据库登录密码,db/db_name中db为固定值,db_name为创建的表名称,这些参数都是上面数据库的配置参数,这两个参数是在代码托管网站获取,我使用的是gitee码云。如何申请?,1、注册码云,2、创建OAuth应用,进入码云设置中心,找到第三方应用,利用drone ci自动化部署静态博客的完整步骤,点击创建应用,利用drone ci自动化部署静态博客的完整步骤,填写创建应用所需信息,利用drone ci自动化部署静态博客的完整步骤,创建成功后,进入应用详情,利用drone ci自动化部署静态博客的完整步骤,其中的Client ID和Client Secret便是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 runner的账号信息,不同于drone server,drone runner的管理界面主要查看server运行的一些信息,而drone server的管理界面是管理应用的,在docker-compose配置文件的当前目录下,执行docker-compose up,drone ci就会自动安装,如果安装没有报错,那么进入浏览器,输入你配置过的DRONE_SERVER_HOST(前提是这个域名已经通过解析),便能进入,利用drone ci自动化部署静态博客的完整步骤,登录成功后进入主页面,此时会同步你代码托管网站下的所有项目,利用drone ci自动化部署静态博客的完整步骤,点击未激活项目,会直接进入到setting配置页,利用drone ci自动化部署静态博客的完整步骤,点击Activate Repository按钮,激活项目,激活项目便会进入配置详情页,利用drone ci自动化部署静态博客的完整步骤,如果是管理员登入,project settings中的5个选项都会出现,不然只会出现第一个选项,打开第二个选项Trusted,利用drone ci自动化部署静态博客的完整步骤,最后save changes一下,保存更改,此时项目即为激活项目,到此整个drone ci的服务已经配置完成,那么如何持续部署我们的项目呢?对于cd有一定了解的人,都知道当我们git push的时候项目会通过webhooks通知ci服务,然后就会拉取代码,重新部署代码,从而完成一次ci/cd,这其中一个重要的配置文件起到重要作用,通常会向我们的项目中添加一个yaml文件,ci服务会读取这个文件,从而执行一个流程,完成部署。在drone ci中会向项目的根目录添加一个.drone.yml文件,这个文件如何编写,我以我的blog项目为例,下面是其配置文件内容,.drone.yml文件的编写较为复杂,具体请查询drone文档。其中dingtalk-push,是部署完成后通知钉钉,钉钉机器人的配置请查看钉钉的文档,该插件的详细配置请查阅该插件文档,
返回顶部
跳到底部

Copyright 2011-2024 南京追名网络科技有限公司 苏ICP备2023031119号-6 乌徒帮 All Rights Reserved Powered by Z-BlogPHP Theme By open开发

请先 登录 再评论,若不是会员请先 注册