更新时间:2022-05-10 GMT+08:00
分享

Jenkins对接CCE集群

安装kubernetes相关插件

在Jenkins的“系统设置 > 插件管理”中,在“Available”页签中选择安装“Kubernetes Cli”和“Kubernetes Continuous Deploy”插件。

本文安装的插件版本为

  • Kubernetes Continuous Deploy Plugin:2.3.0
  • Kubernetes CLI Plugin:1.8.3

也可以手动下载安装:

http://updates.jenkins-ci.org/download/plugins/kubernetes-cd/

http://updates.jenkins-ci.org/download/plugins/kubernetes-cli/

Jenkins添加slave节点

登录jenkins,在“系统管理 > 节点管理”中,单击新建节点,输入节点名称:slave。

配置节点信息:

远程工作目录为:/home/jenkins/agent

启动方式选择:Launch agent via execution of command on the master

Launch command填写:docker run -i -u root --rm --name agent -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 jenkins/agent java -jar /usr/share/jenkins/agent.jar

Pipeline脚本中配置和调用kubernetes

在Jenkins系统中导入kubeconfig配置文件。

  1. 新建“构建一个自由风格的软件项目”的任务。

  2. 添加Jenkins凭证,导入CCE集群的kubeconfig文件

    构建环境-Configure Kubernetes CLI (kubectl)

    其中kubeconfig内容从华为云CCE集群页面获取,获取方式如下:

    登录CCE控制台,在左侧导航栏中选择“资源管理 > 集群管理”,单击Jenkins所在集群的名称进入集群详情页,单击kubectl页签即可找到“下载kubectl配置文件”,如下图:

新建pipeline任务,在任务中对接kubernetes集群

Kubernetes Continuous Deploy Plugin使用指导请参见如下地址:

https://www.jenkins.io/doc/pipeline/steps/kubernetes-cd/

详细配置如下:

node('slave'){ 
       stage('Clone') { 
              echo "1.Clone Stage" 
              git url: "https://github.com/lookforstar/jenkins-demo.git" 
              script { 
                     build_tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim() 
              } 
       } 
       stage('Test') { 
       echo "2.Test Stage" 
       } 
       stage('Build') { 
              echo "3.Build Docker Image Stage" 
              sh "docker build -t swr.cn-east-3.myhuaweicloud.com/batch/jenkins-demo:${build_tag} ." 
       } 
       stage('Push') { 
              echo "4.Push Docker Image Stage" 
              sh "docker login -u cn-east-3@82EFQWQMJWSDOYS9BQNM -p 71b0cceac30a10b99a960360b2e1deb04ec2f1bb00e88bc5eb69f3e9fd6a6d08 swr.cn-east-3.myhuaweicloud.com" 
              sh "docker push swr.cn-east-3.myhuaweicloud.com/batch/jenkins-demo:${build_tag}" 
       } 
          stage('Deploy') {
        echo "5. Deploy Stage"
        echo "This is a deploy step to test"
        sh "sed -i 's/<BUILD_TAG>/${build_tag}/' *.yaml"
        sh "cat *.yaml"
        echo "begin to config kubenetes"
        try { 
         kubernetesDeploy(
             kubeconfigId: "sample",
             configs: "k8s.yaml")
         println "hooray, success"
        } catch (e) {
            println "oh no! Deployment failed! "
            println e
        }
        }
}

查看部署情况

Jenkins上单击立即构建,查看构建结果。

登录华为云,在容器镜像服务SWR的控制台中,查看构建的镜像信息。

登录华为云,在云容器引擎CCE的控制台中,查看部署的应用信息。

分享:

    相关文档

    相关产品

close