zoukankan      html  css  js  c++  java
  • jenkins-demo

     
    node('haimaxy-jnlp') {
        stage('Clone') {
          echo "1.Clone Stage"
          git url: "https://github.com/cnych/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 cnych/jenkins-demo:${build_tag} ."
        }
        stage('Push') {
          echo "4.Push Docker Image Stage"
          withCredentials([usernamePassword(credentialsId: 'dockerHub', passwordVariable: 'dockerHubPassword', usernameVariable: 'dockerHubUser')]) {
              sh "docker login -u ${dockerHubUser} -p ${dockerHubPassword}"
              sh "docker push cnych/jenkins-demo:${build_tag}"
        }
        stage('YAML') {
          echo "5. Change YAML File Stage"
          sh "sed -i 's/<BUILD_TAG>/${build_tag}/' k8s.yaml"
          sh "sed -i 's/<BRANCH_NAME>/${env.BRANCH_NAME}/' k8s.yaml"
        }
        stage('Deploy') {
          echo "6. Deploy Stage"
          sh "kubectl apply -f k8s.yaml"
        }
    }
     
     
     
    详解:
    1. haimaxy-jnlp:基础设置中的标签,表明会使用salve
    2. build_tag:采用和git commit的记录为镜像的 tag
    3. 此处使用的docker hub仓库,直接登录上传(此处的账户密码可以使用系统管理——》凭证配置)
      k8s中可以创建secret+serviceaccount完成
    4. 在上传镜像时使用变量调用用户名+密码(避免明文)
    5. 替换yaml文件中的tag值
  • 相关阅读:
    数据库高级链表查询,重点可以多看看
    数据库多表查询,一对一关系,一对多关系,多对多关系
    Django基础
    前端之JavaScript
    前端之Jquery
    CF888E Maximum Subsequence-折半搜索
    HNOI2010 平面图判定
    CEOI 2011Traffic
    LuoguP1710 地铁涨价
    Luogu2059 卡牌游戏-概率DP
  • 原文地址:https://www.cnblogs.com/jayce9102/p/12451774.html
Copyright © 2011-2022 走看看