00:文章简介
介绍基于Jenkins的GITOPS中的 Jenkins-CD。
01:创建仓库
需要创建一个新的仓库,用于存放部署项目到k8s集群上的资源清单或者helm chart。
这里应该是公开项目,如果是私有项目,在拉取仓库时需要配置验证
02:clone到本地
git clone http://gitlab.linux98.com:8080/root/myapp-cd.git
cd myapp-cd/
mkdir kubernetes
cd kubernetes/
# 创建namespace service deployment
git config --local user.name admin
git config --local user.email admin@linux98.com
git checkout -b develop
git add .
git commit -m "Init template"
git push --all origin
03:创建myapp-cd令牌
04:配置slave-pod模板
05:与myapp-cd仓库集成webhook
06:配置流水线任务
pipeline {
agent {
kubernetes {
inheritFrom 'kubectl'
}
}
stages {
stage('Source') {
steps {
git branch: 'develop', url: 'http://gitlab.linux98.com:8080/root/myapp-cd.git'
}
}
stage('Deploy') {
steps {
container('kubectl') {
withKubeConfig([credentialsId: 'kubernetes-31.10-admin']) {
sh 'kubectl apply -f kubernetes/'
}
}
}
}
}
}
07:模拟webhook构建
08:查看效果
09:将Jenkinsfile归档到gitlab
vim Jenkinsfile
git add .
git commit -m "Add Jenkinsfile"
git push origin develop
评论区