整体思路
mkdocs自身放在master分支,master分支有修改时调用持续集成,进行构建并把构建后的文件推送回gh-pages分支,再触发持续部署中的静态网站功能,把文档上线。
实现步骤
- 进入仓库,设置->开发者选项->项目令牌,新建一个用户后面部署的令牌,记得勾选读写权限。完成后,记下用户名和密码。
- 新增一个持续集成,用于对文档进行构建和部署。
Jenkinsfile如下:
我的项目用到额外的mkdocs-material、mkdocs-minify-plugin组件,如果不需要可删除(构建步骤里)
pipeline {
agent {
label 'python-3.5'
}
stages {
stage('检出') {
steps {
checkout([$class: 'GitSCM', branches: [[name: env.GIT_BUILD_REF]],
userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]])
}
}
stage('构建') {
steps {
sh 'pip install mkdocs mkdocs-material mkdocs-minify-plugin'
}
}
stage('部署') {
steps {
sh 'echo -e "machine e.coding.net login ${GIT_USERNAME} password ${GIT_PASSWORD}" > ~/.netrc'
sh 'git remote set-url origin ${GIT_PUSHURL}'
sh 'mkdocs gh-deploy -v --force --clean'
}
}
}
}
同时配置好环境变量,GIT_USERNAME和GIT_PASSWORD即第一步获得的用户名和密码,GIT_PUSHURL是仓库地址。
3. 进入持续部署->静态网站,新建。
4. 完成。推送代码到master分支或者手动触发即可开始部署。
发表回复