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值
  • 相关阅读:
    TCP首部
    IP
    ARP
    QYT教主TCPIP2017 TCP部分 视频笔记
    卷一第二十二章:UDP原理
    卷一第二十一章:TCP原理
    卷一第二十章:IPV6基础
    卷一十九章:DHCP (不涉及工作,暂停)
    目录
    Educational Codeforces Round 90 (Rated for Div. 2)
  • 原文地址:https://www.cnblogs.com/jayce9102/p/12451774.html
Copyright © 2011-2022 走看看