jenkins-jnlp pipeline 流水线

jenkins-jnlp pipeline 流水线

  1. k8s安装jenkins-master请参看之前的。
    https://blog.csdn.net/weixin_43606975/article/details/119944602?spm=1001.2014.3001.5501
  2. 安装插件pipeline
  3. 创建流水线
    在这里插入图片描述
  4. pipeline语法
properties(
    [
        parameters([
           string(defaultValue: '', name: 'GIT_TAG', description: '请根据发布类型进行选择发布:\n1,输入-TESTING-发布-最新代码-到灰度\n2,输入-LATEST-发布-最新代码-到生产\n3,输入-版本号-发布-制定版本-到生产 ' )
        ])
    ]
)
def label = "mypod-${UUID.randomUUID().toString()}"
def app_name = "tomee"
podTemplate(label: 'label', cloud: 'kubernetes', namespace: 'default' , containers: [
    containerTemplate(
        name: 'jnlp',  
        image: 'registry.cn-beijing.aliyuncs.com/abcdocker/jenkins:v1.4'
    ),
],
  volumes: [
    hostPathVolume(mountPath: '/var/run/docker.sock', hostPath: '/var/run/docker.sock'),  #前面是物理机的卷,后面是容器的卷
    hostPathVolume(mountPath: '/usr/bin/docker', hostPath: '/usr/bin/docker'),
    hostPathVolume(mountPath: '/root/.ssh/', hostPath: '/root/.ssh/'),
    hostPathVolume(mountPath: '/opt/apache-maven-3.6.1', hostPath: '/opt/apache-maven-3.6.1')
],)
{
    node('label') {   #这个标签可以选择自己的其他节点,写上就好。
        stage('Task') {
            if ("$GIT_TAG" == 'lzx') {
             stage('拉取代码') {
                git credentialsId: '20854938-2b1f-47a4-a7e1-a6390cd772c7', url: 'http://192.168.2.45/root/test.git'
                def mytag = sh returnStdout: true, script: 'git describe --always --tag'
                sh "git checkout -b $mytag"
                echo "mytag $mytag ${mytag} ----"
                // echo "dai ma"
             }
             stage('run shell') {
                 echo "dai ma xia"
                
                //                   sh '''
                //       export MAVEN_HOME=/opt/apache-maven-3.6.1
                //       export PATH=$MAVEN_HOME/bin:$PATH
                //       mkdir -p /root/repo
                //       cp  /opt/apache-maven-3.6.1/bin/mvn  /usr/bin/
                //       mvn clean package -Dmaven.test.skip=true
                //   '''
            }
                       stage('部署到K8S'){
                // def mytag = sh returnStdout: true, script: 'git describe --always --tag'
                // def image_name = "${app_name}:${mytag}".minus("\n")
                // sh """
                // sed -i 's#tomcat:latest#${registry}/${namespace}/${image_name}#' java-deploy.yaml
                // """
                // sh """
                //  sed -i 's#tomcat#${app_name}#' java-deploy.yaml
                // """
                kubernetesDeploy configs: 'java-deploy.yaml', kubeconfigId: "670cc3bd-4c53-49f7-a5a1-a38ae4013bf0"
      }  
            
                } 
            else if ("$GIT_TAG" == '2'){
                sh '''
                ssh root@192.168.2.39 "kubectl rollout undo deployment/mydeploy -n default" 
                '''
                
            }
            else {
                 echo 'shu ru  can shu bu dui'
            }
           
           

        }
    }
}

在这里插入图片描述

  1. 也可以用构建化参数:需要装插件。
    在这里插入图片描述
    5.点击下面的流水线语法:可以获取git 的凭证id。
    在这里插入图片描述
    6.生成git凭证id:
    在这里插入图片描述
    7.启动流水线。
    在这里插入图片描述
    8.查看jenkins-jnlp容器已经启动。
    在这里插入图片描述
    。。。。。。。EDN。。。。。。。。。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值