IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 使用coding CI服务实现hexo自动化发布部署 -> 正文阅读

[开发测试]使用coding CI服务实现hexo自动化发布部署

引言

hexo是一个操作简单方便的静态网页式博客,但是这也带来了几个问题。

  • 每次hexo new post ""写作好以后,都要进行生成网页部署网页的操作,这种重复操作是程序员极为讨厌的行为。
  • 同样,每次想要在新的设备上写作就更加麻烦,新设备上要和原设备上有一样的环境,重新配置环境的时候还有可能出现各种问题。花费了一段时间配好环境,开始写作了,又要经历上一个问题。

而各家的持续集成服务就能解决这样的问题,这里推荐coding的CI服务,每个月有1000次的免费持续集成次数,而且提供的服务器配置也很可以了。

image-20210910165504375

下面介绍一些基本概念,不需要的朋友可以直接向下调到教程。

基本概念

持续集成

在软件工程中,持续集成(CI)是指将所有开发者的工作副本每天多次合并到主干的做法。持续集成在现代软件研发流程中,扮演了十分重要的角色。通过对每次提交的代码进行自动化的单元测试、代码检查、编译构建、契约测试,甚至自动部署,能够大大降低了开发人员的工作负担,减少了许多不必要的重复劳动,持续提升代码质量和开发效率。毫无疑问,持续集成是开发者和研发团队的福音。

持续集成是指软件发布流程的构建和单元测试阶段。提交的每一个修订都会触发自动化的构建和测试操作。

采用持续交付时,系统会自动构建、测试并准备代码变更,以便发布到生产环境中。持续交付通过在构建阶段后将所有代码变更部署到测试环境和/或生产环境中,实现对持续集成的扩展。

当然我们想要实现自动部署并不需要完整的持续集成功能,只需要自动构建。

Jenkins

Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

没错,它就是一个具体的持续集成解决方案。基于 Java 实现。 可以实现:

  1. 持续版本发布/测试;
  2. 监控外部调用执行的工作;

教程

工具

  1. 能够正常发布使用的hexo本地项目。
  2. coding账户
  3. Git

coding访问令牌

image-20210910171142070

新建访问令牌

image-20210910171239880

保存好令牌和用户名备用。

coding项目

本项目中需要一个git仓库,可以使用github||gitee||coding。建议使用coding,因为是采用的coding的集成服务,同平台稳定性高一些。

首先直接创建一个全功能DevOps项目。

image-20210910171625966

进入项目

image-20210910171847370

进入代码仓库,新建一个仓库,因为里面会有配置文件,含有密码等敏感信息,请选择私有仓库。

创建完成后本地文件夹绑定远程仓库。

git remote set-url origin https://e.coding.net/仓库地址.git

image-20210910172336024

本地hexo目录,编辑——config.yml配置文件。找到deploy

image-20210910172454975

采用coding 免费CI构建部署时候每次都是一个新的环境,相当于新的设备,每次都要输入凭证才可以成功部署。我是同时部署在github和gitee,格式为:

 github: https://username:token@github.com/项目地址.git
 gitee: https://用户名:密码@gitee.com/项目地址.git

github需要采用用户名加token的方式访问,不要使用密码!不要使用密码!会构建失败!

获取token

在https://github.com登录你的帐号,登录以后点击右上角你的头像的Settings

img

2、 点击Developer settings下的Personal access tokens

img

3、点击https://github.com/settings/tokens/new这个超链接,就是创建你的token。

img

4、在Token description中随便填一个描述名称,下面的复选框是你这个token需要的权限,全部勾上就可以了。

img

然后点击下面这个绿色的按钮:

img

5、下面这个就是你的token了,可以直接复制使用。将其填入配置文件。

img

配置持续集成

进入coding项目选择持续集成–构建计划–创建构建计划

image-20210910173543557

image-20210910173619731

image-20210910173648987

上文提到的仓库是新建了coding仓库,在代码仓库中选择你创建的仓库,如果你是放在githu或者其他仓库服务,请选择相应的仓库并授权。之后点击确定。

之后在流程设置中进行设置。

image-20210910174009440

下面贴上代码

pipeline {
    agent any
    stages  {
       stage("pull") {
            steps {
               sh 'ls'
              sh 'git config --global user.name "username"'  
             sh 'git config --global user.email "email"'
              sh 'ls'
              sh 'git clone https://用户名:令牌@e.coding.net/仓库地址.git .'//输入上面提到的coding用户名和令牌
            }
        
        }
        stage("hexo")
         {
           steps
           {
              sh 'npm install -g hexo-cli'  
              sh 'npm install hexo --save'
              //如果你的hexo项目有其他特别功能需要的服务,可以在此添加相应指令
           }
         }
         stage("发布")
         {
             steps
           {
           sh 'hexo cl'  //hexo clean
           sh 'hexo g'  //hexo generate
           
           sh 'hexo d'  //hexo deploy
           }
         }
        
    }
}

image-20210910174437009

开启缓存,加快部署速度。

image-20210910174534627

之后就可以构建了,确认上述操作无误后。点击保存。

自动部署

将hexo本地项目git push到你绑定的的仓库,coding就会自动帮你构建啦。

成功截图。

image-20210910174823171

常见问题

fatal: unable to access ‘https://-----@github.com/----.git/’: Failed to connect to port 443: Connection timed out

image-20210910174928992

image-20210910174958327

一般是config文件中部署设置的用户名或密码错误。

2.fatal: could not read Username for ‘https://gitee.com’: No such device or address

同上 用户名错误

3.image-20210910175404458

将config中highlight enable改为false

image-20210910175508010

如有疑问欢迎与我沟通。

我的博客:

https://brook2bubble.gitee.io/

https://brookdeng.github.io/

多端协作

关于多端写作,网上有Hexo同步语雀文章,感兴趣的可以搜一搜看一看,但是这样的方法会导致每次写作都要使用语雀来写作,配置起来也更加麻烦。

常用电脑

写作后直接push到仓库

其他电脑

编辑md文档后,上传到仓库_post文件夹。注意文档格式。

image-20210910183835303

md文档头文件

---
title: 使用coding CI服务实现hexo自动化发布部署
date: yyyy-MM-dd HH:mm:ss
categories: [Hexo]
tags: [CI,Coding,hexo,git]

---

手机端

同上,比较麻烦,不过也很少有手机写博客的吧。

参考

  1. 持续集成介绍
  2. hexo利用coding自动化持续集成云端部署多平台
  3. Hexo+coding实现自动化部署
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:33:56  更:2021-09-13 09:34:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:21:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码