jenkins argocd cicd git

argo-cd job

cd脚本拉去初始化chart,sed替换对应微服务chart文件参数,并提交到新环境的chart仓库

label = "master"
 
node(label) {
    stage('env info'){
    echo sh(returnStdout: true, script: "env")
    }
    
    stage('Checkout Charts From Source') {
      sh "rm ./* -fr"
 
      sh("git clone http://root:root@gitbucket.yangxl.com:80/git/devops/argocd-repo.git sourceDir")
   }
   
    stage('Checkout Charts From  DestEnv') {
        dir("destDir"){
            git credentialsId: 'gitaccount', url: "https://gitee.com/yangxlgit/argo-repo.git", branch: "master"
            // 保存git密码,以免 git push再提示输入密码
            sh '''
            echo "[credential]" >> .git/config
            echo "    helper = store" >> .git/config
            '''
        }
    }

   stage('Modify Service ChartFile') {
       sh("pwd")
       NewimageTag= sh( returnStdout: true, script: "cat sourceDir/guestbook/guestbook-ui-deployment.yaml |grep image|awk -F: '{print \$3}'|tr '\n' ' '")
       OldimageTag= sh( returnStdout: true, script: "cat destDir/guestbook/guestbook-ui-deployment.yaml |grep image|awk -F: '{print \$3}'|tr '\n' ' '")
       //echo  OldimageTag
       //echo  NewimageTag
       
       sh """
        sed -i "s#$OldimageTag#$NewimageTag#g" destDir/guestbook/guestbook-ui-deployment.yaml
        cat destDir/guestbook/guestbook-ui-deployment.yaml
       """
   }

   stage('Update Charts To DestEnv ') {
       commitInfo = "testcommit"
       dir("destDir"){
         sh "pwd"
         sh """
            git remote -v
            git config -l
            git add guestbook/guestbook-ui-deployment.yaml
 
            git commit -m   $commitInfo  
            git push origin HEAD:refs/heads/master
        """
       }
   }
   
}

posted @ 2021-02-07 09:49  yangxl-dev  阅读(309)  评论(0)    收藏  举报