原文首发于使用腾讯Coding/serverless托管Hugo网站
逼逼几句
这几天有时间就来折腾一下自己的博客,由于平时懒得去管主机的各种服务之类的,然后用的是hugo来生成站点的,所以还要跑shell自动构建部署,略微麻烦。后面看到腾讯云这边出了serverless服务。想着还不如就托管就好了,主要价格各方面还能接受。然后发现新建网站这边没有hugo可以勾选,所以自己搞了一个方式来自动构建部署。
如果有比我更懒的童鞋可以试下腾讯云为初创客户提供的一站式云端解决方案,快速低成本部署业务
https://cloud.tencent.com/act
coding和腾讯云serverless
这边要打通两边,做一个关联,详细就不多说了,折腾一下都OK的。
创建项目
做了上面的事情后,你应该会有一个团队主体,然后用这个团队主体创建一个项目。
随便选一个都行,我是选的左边那个。
填写项目信息
创建两个仓库
创建项目成功后进入项目
创建两个仓库,一个是存储源代码的文件,一个是放置生成的静态网站文件。
新建静态网站
创建完仓库后点击侧边栏的持续部署——网站托管——新建网站
选择静态网站的网站类型,如果没有备案的话节点选择香港
创建自定义构建计划/流程配置
创建完网站后创建构建计划,选择自定义构建过程
创建后点击构建计划设置——流程配置
代码检出
代码检出点击下拉菜单就OK了,不用去设置啥
hugo
代码语言:txt复制curl -fL "https://serverless-583414007-generic.pkg.coding.net/duckweeds7/files/hugo_extended_0.85.0_Linux-64bit.tar.gz?version=latest" -o hugo_extended_0.85.0_Linux-64bit-latest.tar.gz # 这一步是下载hugo的执行程序,我是放在了coding的制品里面了,外网下载好像速度有点慢,可以修改成其他版本或下载地址,下面需要对应修改文件名
tar -xvf hugo_extended_0.85.0_Linux-64bit-latest.tar.gz # 解压
rm -r hugo_extended_0.85.0_Linux-64bit-latest.tar.gz # 删除压缩包
ls -hal
mv hugo /usr/bin/hugo # 移动到执行目录
hugo # 由于前一步我们把代码检出了,所以我们目前是处于源代码目录下的,执行hugo命令便可生成静态网站到public
部署应用
代码语言:txt复制cd ./public # 进入到网站目录
git init # 初始化仓库
git remote add origin https://${PROJECT_TOKEN_GK}:${PROJECT_TOKEN}@e.coding.net/serverless-583414007/duckweeds7/duckweeds-public.git # 绑定public仓库,这边是可以用默认变量token来代替认证
git add .
git commit -m "更新"
git push --force origin master # 强制推送内容
立即构建
流程配置后立即构建,这个时候就会自动跑一遍这个流程了,基本上就完成了整个自动化构建部署。
逼逼多几句
这边要注意流程计划的触发规则为当代码源触发时自动执行,这样的话当你源代码仓库有更新时就会执行这个流程更新public仓库,而当public仓库发生改动时,会触发静态网站自动部署。自定义绑定域名啥的就自己去折腾吧。