华为云CodeArts流水线托管Hexo
受够Github的网络问题,有时候会网络阻断的问题导致的无法访问和无法上传的问题。为了解决问题尝试过挂梯访问和自建Gitea Actions托管和服务器托管,发现两个方案都不怎么可行,感觉还是差点什么。(还是想白嫖,hhhh)
在一次偶尔的机会了解了华为云CodeArts的产品,发现基本可以满足我的博客需求,其中包括了代码托管、代码检查、构建任务、构建流水线。主要是免费的套餐内可以满足我的博客构建和部署任务。
准备环境
- 电脑一台
- 华为云的账号
- 安装Git 和 提前部署好本地的Hexo环境
- 创建ssh密钥(这个不强制使用密码验证也可以 )
注册华为云账户
如果你是使用华为的账号体系,例如使用华为的手机登陆了账号,这个账号也可以登陆,如果没有账号就要注册一个新的账号,并完成实名认证。
华为云官网:https://www.huaweicloud.com/
CodeArts控制台:https://console.huaweicloud.com/devcloud/
华为云CodeArts使用
CodeArts订购页面:https://console.huaweicloud.com/devcloud/
选择地域
- 体验版
- 同意协议
- 立即开通
然后进入 CodeArts控制台
新建一个项目 - 然后再进入刚刚新创建的项目当中 - 代码托管创建一个代码仓
这里选择普通仓库来创建一个空白的仓库,如果你的Hexo已经在Github存在也可以选择导入仓库来进行导入。
创建完成后,可以进去代码仓进行查看,由于涉及水印就不截图了
配置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配置和推送
先选择一个hexo的项目目录,如果没有就创建一个目录。然后在目录内选择git终端运行。
1 | git init |
连接到git仓库和同步远程仓库
1 | # 连接到远程仓库 |
文件暂存和推送到仓库
1 |
|
这样就完成了,git的推送,下一步进行hexo自动构建。
CodeArts自动构建hexo
在页面左侧找到 - 持续交付 -选择编译构建
选择Repo的仓库,选择代码仓和默认分支
在构建模板搜索 npm
选择该模板
构建环境配置,这里构建类型和执行主机,三项默认即可。
代码下载配置,默认即可。
这里的Npm构建需要修改hexo的文件。
下面附我的构建文件,可能注意到为什么不使用hexo命令来进行构建。因为在测试的时候发现写hexo的命令不执行,所以使用npm命令来执行。
大家可能会有一些插件一起构建的,比如algolia搜索这些等等。大家可以在博客根目录找到 package.json
这个文件,通过该配置文件来进行自定义目录。
1 | export PATH=$PATH:~/.npm-global/bin |
上传文件到软件发布库,可以删除或者禁用。如果使用可以搭配和华为obs静态网站一起使用
编译构造状态查询
可以看见构造时间,触发标签等等,如果编译错误还可以查看错误状态。
后语
这样写文章的时候,可以通过CodeArts的文件编辑器来进行新建文章,就是搭配addrlink的链接标签需要自定义,其他感觉没有什么问题。
关于托管网站问题,可以在搜索引擎找到相关的方案,在_config.yml
自定义模块,可以在构建完成后上传到腾讯COS、华为OBS、GitHub这些都没有问题。