使用jenkins发布hugo博客

2020-02-24 Yazzyk

准备

  1. jenkins 由于jenkins在我服务器上已经搭建好很久了,所以不讲解怎么搭建jenkins,详情可以去jenkins官网查看
  2. 已经准备好发布的hugo博客
  3. 一个git仓库,可以是githubgitlab等,我使用的是我自己服务器上的gitea
  4. 服务器上已装好hugo

0x01

先在hugo博客根目录下创建Jenkinsfile文件,这个文件用于写Jenkinsfile的流水线,内容类似于:

#!/usr/bin/env groovy
pipeline {
    agent any
    environment {
        HUGO = '/bin/hugo'
        DEPLOY_DIR = '/www/wwwroot/css0209.cn/public'
    }
    stages {
          stage('Init') {
            steps {
                sh 'echo "hugo version:"'
                sh '$HUGO version'
            }
        }
        stage('Build') {
            steps {
                sh 'ls -a'
                sh '$HUGO --baseUrl="https://css0209.cn" -D'
                sh 'ls ./public'
            }
        }
        stage('Deploy') {
            steps {
                sh 'rm -rf $DEPLOY_DIR'
                sh 'mv ./public $DEPLOY_DIR'
                sh 'echo "deploy on $DEPLOY_DIR"'
            }
        }
    }
}

此处的HUGO是服务器上的hugo的路径,DEPLOY_DIR服务器上的部署位置,关于pipeline可以参考Jenkins官方文档 - 流水线
写好Jenkinsfile后就可以push到git仓库

0x02

push成功后,进入jenkins,点击新建item,选择流水线,输入任务名称,点击确定

然后进入配置页面前面的根据自己的需求勾选
重点在于下面的流水线 具体参数根据自己修改,这里的Credentialsgit的验证,似乎是公开库的话可以不用账号密码,但我也没试过公开仓库部署

完成后进入item,点击Build Now即可开始构建,构建完成后会自动将新的博客部署到你的网站