任何人都可以共享Jenkin文件或为jenkin的Bitbucket专用存储库创建CI / CD的步骤。

构建Docker镜像并上传到Docker Hub并部署到kubernetes。

我已经尝试下载插件一点Bukcet到目前为止没有帮助。

我没有使用过多的Jenkin管道,也没有使用过Freestyle项目,对Jenkin的使用经验不多,不胜感激。

pipeline {

  environment {
    registry = "*******/test_case"
    registryCredential = 'dockerhub'
  }
  agent any
  stages {
    stage('Cloning Git') {
  steps {
    git 'https://[email protected]/harshmanvar/configuring-ci-cd-on-kubernetes-with-jenkins.git'
  }
}

    stage('Docker Build') {
      steps {
        sh "docker build -t ****/test_case:${env.BUILD_NUMBER} ."
      }
    }
    stage('Docker Push') {
      steps {
        withCredentials([usernamePassword(credentialsId: 'dockerhub', passwordVariable: 'dockerHubPassword', usernameVariable: 'dockerHubUser')]) {
          sh "docker login -u ${env.dockerHubUser} -p ${env.dockerHubPassword}"
          sh "docker push ******/test_case:${env.BUILD_NUMBER}"
        }
      }
    }
    stage('Docker Remove Image') {
      steps {
        sh "docker rmi ********/test_case:${env.BUILD_NUMBER}"
      }
    }
    stage('Apply Kubernetes Files') {
      steps {
          withKubeConfig([credentialsId: 'kubeconfig']) {
          sh 'cat deployment.yaml | sed "s/{{BUILD_NUMBER}}/$BUILD_NUMBER/g" | kubectl apply -f -'
          sh 'kubectl apply -f service.yaml'
        }
      }
  }
}
post {
    success {
      slackSend(message: "Pipeline is successfully completed.")
    }
    failure {
      slackSend(message: "Pipeline failed. Please check the logs.")
    }
}
}

第一步,不是关闭仓库,而我的仓库是非私有(private)的。

谢谢

最佳答案

无论您的git存储库是否为私有(private),只需在git开发人员设置中设置您的私有(private)访问 token 并将其添加到Jenkins凭证即可。之后,尝试此脚本cloning Git阶段:

stage('Cloning Git') {
  steps {
    git credentialsId:'Your_Credential_Id',
    url:'https://[email protected]/harshmanvar/configuring-ci-cd-on-kubernetes-with-jenkins.git', branch:'master'
   }}

希望对您有帮助。

10-06 07:22