Jenkins 共享库2(实战K8S篇)

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

  • docker编译使用的groovy脚本

package org.devops

def docker_bui() {
    withCredentials([usernamePassword(credentialsId: 'dockeropa', passwordVariable: 'Password', usernameVariable: 'Username')]) {
       sh '''
       docker login -u$Username -p$Password kk.jsj.com
       docker build -t ${name}:${BUILD_ID} .
       docker tag  ${name}:${BUILD_ID} ${image}
       docker push ${image}
       echo ${image}
       docker rmi ${image}
       docker rmi ${name}:${BUILD_ID}
       echo ${name}:${BUILD_ID}  
        '''
    }
   }
  • deploy编译使用的groovy脚本

package org.devops

def test_kue() {
     withKubeConfig([credentialsId:'kj8s',namespace:'default']) {
     sh ' echo "10.0" >> /etc/hosts'
     sh "sed -i 's#{{image}}#${image}#g' k8s.yaml"
     sh 'kubectl apply -f k8s.yaml'
     }   

}
  • Jenkinsfile

@Library ("jr-shared-library") _
def docker_test_bui = new org.devops.docker_test_bui()
def deploy_test = new org.devops.deploy_test()

pipeline {
   environment {
    name="portal"
    image="JSS.com/libary/jr-prod-01:${name}$BUILD_ID"
        }
    agent { 
     kubernetes {
       inheritFrom 'maven-test'
      }
       } 
         
    options{ 
      timestamps ()
      disableConcurrentBuilds () 
      buildDiscarder(logRotator(numToKeepStr: '10'))       
    }
    
    stages {
      stage('Get Code') {
        steps {  
  checkout([$class: 'GitSCM', branches: [[name: '*/sit']], extensions: [], userRemoteConfigs: [[credentialsId: 'vip', url: 'https://gitHUB.OOOX.com/youhuomenhu/backend.git']]])
          }
             }
             
        stage('Java-build') {
            steps {       
                container('maven36'){
                    sh 'mvn clean package'
                
                }
            }
        }
        
      stage('Docker-build') {
            steps {       
                container('docker'){
                 script {
                    docker_test_bui.docker_bui()
                } 
            }
        }
      }
      
      stage('Deploy....') {
        steps {       
        container('kubectl'){
          script {
             deploy_test.test_kue()
               }
                 }
                    }
                        }

                            }
                            //消息推送
                           post {
                              always {         
                                 pushplus ("001")
                                    }
                            }
                   }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值