DevOps- 案例-KubeSphere实现 cicd

DevOps- 案例-KubeSphere实现 cicd



cicd

前面几篇已经讲了 -KubeSphere 和 k8s 的安装 ,这一片就开始讲 k8s 如何使用了的

在这里插入图片描述
在这里插入图片描述
登录进去后,可以发现有很多丰富的配置,比如监控,磁盘显示、集群信息 ,今天我们主要任务还是带你一步一步搭建一个 demo

先创建一个 git 链接

创建一个 企业空间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

DevOps 项目

在这里插入图片描述
在这里插入图片描述

项目

在这里插入图片描述

创建一个· demo

在这里插入图片描述

在这里插入图片描述

有两种方式,第一种是图形化、我就不演示了,自己看看就会
第二种是 编写 jenkins file

pipeline {
  agent {
    node {
      label 'maven'     #你用什么 环境,因为他说java 服务 所以 我们用 mvn 进行
    }

  }
  
}

配置git pull 密码
在这里插入图片描述
在这里插入图片描述

拉取代码

pipeline {
  agent {
    node {
      label 'maven'
    }
  }

environment {                       #这里是 变量
    JAR_FILE = "${DIR}/${JAVA}"
    REGISTRY = 'hub.dokcer.cn'           #hub 地址
    DOCKERHUB_NAMESPACE = 'msb-yx'       #hub的命名空间
    KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'         #调用哪个kubeconfig集群文件
    
    JAR_PORD = '4004'       #服务端口
    IMAGES = 'edu-course-service'      #服务名称
    JAVA = 'target/*.jar'              #mvn 打包的路径
    DIR = 'horse-business/mall-marketing/mall-marketing-service'  #包路径
    INSPECT = '/im/actuator/health'     #监控检查
  }



stages {
    stage('代码拉取') {
      agent none
      steps {
        container('maven') {
          git(url: 'http://qxh.qcb.cn/qcb.git', credentialsId: 'qcb', branch: 'master', changelog: true, poll: false)
        } #url 是 gitlab的项目地址  qcb 用户 master 分支
      }
    }
  

pipeline {
  agent {
    node {
      label 'maven'
    }
  }

environment {        
    JAR_FILE = "${DIR}/${JAVA}"
    REGISTRY = 'hub.dokcer.cn' 
    DOCKERHUB_NAMESPACE = 'msb-yx'  
    KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'  
    
    JAR_PORD = '4004'  
    IMAGES = 'edu-course-service'  
    JAVA = 'target/*.jar' 
    DIR = 'horse-business/mall-marketing/mall-marketing-service' 
    INSPECT = '/im/actuator/health'
  }



stages {
    stage('代码拉取') {
      agent none
      steps {
        container('maven') {
          git(url: 'http://qxh.qcb.cn/qcb.git', credentialsId: 'qcb', branch: 'master', changelog: true, poll: false)
        }
      }
    }
 

    stage('项目打包') {
      agent none
      steps {
        container('maven') {
          sh 'cd horse && mvn clean package -pl com.msb.cloud:$IMAGES -am -Dmaven.test.skip=true'                 
        }

      }
    }

    stage('构建 images') {
      steps {
        container('maven') {
          sh 'cd horse && docker build --build-arg SKNAME="${IMAGES}" --build-arg JAR_FILE="${JAR_FILE}" --build-arg JAR_PORD="${JAR_PORD}" -t $IMAGES:$BUILD_NUMBER .'
        }

      }
    }
    stage('推送 images') {
      agent none
      steps {
        container('maven') {
            sh 'docker login -u admin -p 123123 hub.mashibing.cn'
            sh 'docker tag  $IMAGES:$BUILD_NUMBER $REGISTRY/$DOCKERHUB_NAMESPACE/$IMAGES:$BUILD_NUMBER'
            sh 'docker push  $REGISTRY/$DOCKERHUB_NAMESPACE/$IMAGES:$BUILD_NUMBER'
        }

      }
    }


    stage('deploy to dev') {
      steps {
          container ('maven') {
            withCredentials([
            kubeconfigFile(
            credentialsId: env.KUBECONFIG_CREDENTIAL_ID,
            variable: 'KUBECONFIG')
            ]) {
            sh 'envsubst < horse/deploy.yaml | kubectl apply -f -'
            sh 'docker rmi -f $IMAGES:$BUILD_NUMBER'

            }
          }
        }

}}

#主要根据公司的环境去写的 可以先联系我18573187340给你定制

在这里插入图片描述
最后在点击运行就可以了

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值