51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

华为云CodeArts流水线托管Hexo

受够Github的网络问题,有时候会网络阻断的问题导致的无法访问和无法上传的问题。为了解决问题尝试过挂梯访问和自建Gitea Actions托管和服务器托管,发现两个方案都不怎么可行,感觉还是差点什么。(还是想白嫖,hhhh)

在一次偶尔的机会了解了华为云CodeArts的产品,发现基本可以满足我的博客需求,其中包括了代码托管、代码检查、构建任务、构建流水线。主要是免费的套餐内可以满足我的博客构建和部署任务。

6fcb9b41f31b0526eb40eb51b4646e4c.jpg

准备环境 {#准备环境}

  1. 电脑一台
  2. 华为云的账号
  3. 安装Git 和 提前部署好本地的Hexo环境
  4. 创建ssh密钥(这个不强制使用密码验证也可以 )

注册华为云账户 {#注册华为云账户}

如果你是使用华为的账号体系,例如使用华为的手机登陆了账号,这个账号也可以登陆,如果没有账号就要注册一个新的账号,并完成实名认证。

华为云官网: https://www.huaweicloud.com/

CodeArts控制台: https://console.huaweicloud.com/devcloud/

华为云CodeArts使用 {#华为云CodeArts使用}

CodeArts订购页面: https://console.huaweicloud.com/devcloud/

9b9a70dfdacefe07cf4bfafa0bcbedac.jpg

选择地域 - 体验版 - 同意协议 - 立即开通

然后进入 CodeArts控制台

0fde5118a5e928812bbf48873a0eda75.jpg

新建一个项目 - 然后再进入刚刚新创建的项目当中 - 代码托管创建一个代码仓

06f5c0579885b239ca0d8a239ab6c811.jpg

这里选择普通仓库来创建一个空白的仓库,如果你的Hexo已经在Github存在也可以选择导入仓库来进行导入。

ad08d1dade41c5c8ba7a604953d6d441.jpg

创建完成后,可以进去代码仓进行查看,由于涉及水印就不截图了

配置Git和CodeArts代码托管连接 {#配置Git和CodeArts代码托管连接}

如果想和git代码仓进行握手连接,我们还需要一把钥匙(ssh密钥),如果之前和GitHub或者其他git握手过,也可以使用不用重新创建一次,但是为了安全还是重新创建。

生成新的密钥:

|-----------|------------------------------------------------------| | 1 | ssh -keygen -t rsa -b 4096 -C "email@xx.com" |

生成的过程会有提示,直接按三次回车即可。

生成的rsa私钥和pub公钥会存放在 ~/.ssh 目录下面。

打开 CodeArts添加SSH密钥 添加一把SSH密钥。

在 Git Bash 查看公钥文件

|-----------|-------------------------------| | 1 | cat ~/.ssh/id_rsa.pub |

将输出的内容,复制粘贴到 密钥 里面,点击 确定 进行保存。

git配置和推送 {#git配置和推送}

先选择一个hexo的项目目录,如果没有就创建一个目录。然后在目录内选择git终端运行。

|-----------|------------------| | 1 | git init |

连接到git仓库和同步远程仓库

|-------------------|----------------------------------------------------------------------| | 1 2 3 4 5 | # 连接到远程仓库 git remote add origin <url> # 同步远程仓库到本地仓库 git pull |

文件暂存和推送到仓库

|-------------------------|--------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 | # 写入暂存 git add . # 暂存到当前仓库 git commit -m "你弄了什么写一个简述" # 推送目录到远程仓库 git push origin master |

这样就完成了,git的推送,下一步进行hexo自动构建。

CodeArts自动构建hexo {#CodeArts自动构建hexo}

在页面左侧找到 - 持续交付 -选择编译构建

8cfe0daf15c147d7725d2a1bb63f80f9.jpg

选择Repo的仓库,选择代码仓和默认分支

12615c4eca22760a6896b941dec2d6bf.jpg

在构建模板搜索 npm 选择该模板

daa18076ceaa027532bb6ea406b94757.jpg

构建环境配置,这里构建类型和执行主机,三项默认即可。

78e5e0279c0cd7bb24a127a9dacec5d4.jpg

代码下载配置,默认即可。

45fa9cb4d919c8a0abe76466de8cde0a.jpg

这里的Npm构建需要修改hexo的文件。

2fe5777b25805d5833a12f22d75ed32b.jpg

下面附我的构建文件,可能注意到为什么不使用hexo命令来进行构建。因为在测试的时候发现写hexo的命令不执行,所以使用npm命令来执行。

大家可能会有一些插件一起构建的,比如algolia搜索这些等等。大家可以在博客根目录找到 package.json 这个文件,通过该配置文件来进行自定义目录。

1692db7873a91ba125805f0acb7b3bfa.jpg

|---------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | export PATH= $PATH :~/.npm-global/bin #设置缓存目录 npm config set cache ./npmcache #nodejs 版本小于 18 时 可以设置下面的值 #npm config set registry https://repo.huaweicloud.com/repository/npm/ #npm config set registry https://repo.huaweicloud.com/repository/npm/ #npm config set disturl https://repo.huaweicloud.com/nodejs #npm config set sass_binary_site https://repo.huaweicloud.com/node-sass/ #npm config set phantomjs_cdnurl https://repo.huaweicloud.com/phantomjs #npm config set chromedriver_cdnurl https://repo.huaweicloud.com/chromedriver #npm config set operadriver_cdnurl https://repo.huaweicloud.com/operadriver #npm config set electron_mirror https://repo.huaweicloud.com/electron/ #npm config set python_mirror https://repo.huaweicloud.com/python #nodejs 版本大于等于 18时 可以设置下面的值 npm config set registry https://repo.huaweicloud.com/repository/npm/ npm config set prefix '~/.npm-global' #如需安装node-sass #npm install node-sass --verbose #加载依赖 npm install --verbose # 避免文章发布时间错乱 find source /_posts -name '*.md' | while read file; do touch -d " $(git log -1 --format= "@%ct" " $file " ) " " $file " ; done #默认构建 #npm run build npm run clean && npm run build && npm run swpp && npm run deploy && npm run algolia #tar -zcvf demo.tar.gz ./** |

上传文件到软件发布库,可以删除或者禁用。如果使用可以搭配和华为obs静态网站一起使用

编译构造状态查询 {#编译构造状态查询}

02be78f1023f385a179e44c4629c2e53.jpg

127cd88a6d254fe576d37b8d49ddbbe7.jpg

可以看见构造时间,触发标签等等,如果编译错误还可以查看错误状态。

后语 {#后语}

这样写文章的时候,可以通过CodeArts的文件编辑器来进行新建文章,就是搭配addrlink的链接标签需要自定义,其他感觉没有什么问题。

关于托管网站问题,可以在搜索引擎找到相关的方案,在 _config.yml 自定义模块,可以在构建完成后上传到腾讯COS、华为OBS、GitHub这些都没有问题。

赞(0)
未经允许不得转载:工具盒子 » 华为云CodeArts流水线托管Hexo