0. 前提条件, 会使用到jenkins, go语言编译hugo

1. 创建一个jenkins任务

  • 创建一个Jenkins任务
  1. 输入Enter an item name, 这里名字是basic_hugo

  2. 选择Github组织

  3. 再选择最左下"OK"按钮, 创建

2. 编辑已创建的basic_hugo任务

  • 进入basic_hugo任务编辑页面
  1. 进入http://<服务器ip>:8080/me/my-views/view/all/, 在名称下basicd_hugo鼠标悬停上去, 多选, 选择Configure (或者使用Blue Ocean插件http://<服务器ip>:8080/blue/organizations/jenkins/basic_hugo/activity, 选择项目名称旁边的设置齿轮)

  2. 进入编辑页, http://10.211.55.9:8080/job/basic_hugo/configure

  • 在编辑页中设置github中hugo地址, 参数化分支名称

GitHub项目->项目URL 填写 https://github.com/gohugoio/hugo.git/

参数化构建过程->字符参数 Name: BARNCH Default Value: master Description 分支名称

Source Code Management->Git->Repositories

Repository URL: https://github.com/gohugoio/hugo.git

Source Code Management->Git->Branches to build

Branch Specifier (blank for ‘any’): $BRANCH

  • 构建Build脚本

选择 执行shell

Command: cd /var/lib/jenkins/workspace/basic_hugo # 拉取hugo项目存放文件路径 go install –tags extended # hugo官方文档的构建方式

  • 保存

3. 尝试构建, 解决构建中问题, 为方便我使用了Blue Ocean插件了

  • 运行
  1. 进入项目地址,项目名称不一样地址也是不同的.http://<服务器ip>:8080/blue/organizations/jenkins/basic_hugo/activity

  2. 点击运行, 提示输入分支名称, 输入v0.54.0(可以选择hugo任意release分支名称)

  3. 点击run

  • 错误处理

查看build step是失败的, 失败原因是go命令未找到

这里需要添加jenkins系统环境变量

进入http://<服务器ip>:8080/configure ->环境变量, 添加Name: PATH Value: 这个值是你的linux中echo $PATH得到的, 每个人不一样, 不过都有go的环境变量

勾选环境变量为选中状态, 并保存当前设置

再次构建v0.54.0(这个版本)

查看错误信息 缺少gcc和g++ yum -y isntall gcc gcc-c++

保存后, 再次构建v0.54.0(这个版本) 应该是构建成功的

4. 检查Hugo构建的版本

  • 解决在命令行hugo命令不识别问题

hugo version提示hugo命令未找到

需要添加hugo到环境变量中

# 当前用户~/go文件绝对路径是GOPATH,Go编译后的文件在~/go/bin中
# 现在当前用户是jenkins
vim /etc/profile 添加
export export GOPATH=/var/lib/jenkins/go
export PATH=${PATH}:$GOPATH/bin

重新生效/etc/profile文件

source /etc/profile

再次hugo vimersion

hugo version
返回信息, 是刚刚构建的版本
Hugo Static Site Generator v0.54.0/extended linux/amd64 BuildDate: unknown