目 录CONTENT

文章目录

Jenkins模拟GitOps系列05-Jenkins的CD

cplinux98
2022-04-30 / 0 评论 / 0 点赞 / 995 阅读 / 273 字 / 正在检测是否收录...

00:文章简介

介绍基于Jenkins的GITOPS中的 Jenkins-CD。

01:创建仓库

需要创建一个新的仓库,用于存放部署项目到k8s集群上的资源清单或者helm chart。

这里应该是公开项目,如果是私有项目,在拉取仓库时需要配置验证

image-20220405133433329

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

image-20220405135202342

03:创建myapp-cd令牌

image-20220405141214608

image-20220405141256042

04:配置slave-pod模板

image-20220405142309188

05:与myapp-cd仓库集成webhook

image-20220405142500576

image-20220405142625485

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构建

image-20220405142756584

image-20220405142807574

08:查看效果

image-20220405142857172

09:将Jenkinsfile归档到gitlab

image-20220405143146032

vim Jenkinsfile
git add .
git commit -m "Add Jenkinsfile"
git push origin develop
0

评论区