关于 Jenkins BitBucket 使用管道和管道脚本的问题,以及 运行 当新数据被推送到 bitbucket 时的问题

Question on Jenkins BitBucket using pipeline and pipeline script but also running when new data is pushed to bitbucket

我使用管道创建了一个项目,然后在管道中选择管道脚本, 这允许我 运行 分阶段构建。如下 [代码] 管道 {

agent any
tools  {
 terraform 'terraform-11'
}

stages {

     stage('Git Checkout terraform') {

        steps {
            git credentialsId: '********', url: 'https://******/********.git'
        }
    }

    stage('Terraform Init') {

        steps {
            sh 'terraform init'
        }
    }

    stage('Terraform A'){
        steps {
                  dir(dev){
                         sh 'terraform plan -var-file="terraform.tfvars"'
                         sh 'terraform apply -auto-approve'
                  }
             }
    }

    stage('Terraform B'){
        steps {
                  dir(env){
                         sh 'terraform plan -var-file="terraform.tfvars"'
                         sh 'terraform apply -auto-approve'
                  }
             }
    }

}

} [/code]

这个效果很好,我把代码拿出来和运行一系列的阶段。还有比这更多的阶段。我想做的是在每次更新 terrform 脚本时让 jenkins build 运行 。我看过示例,但 none 个示例是 PipeLine/PipeLine 脚本

的一部分

有 Freestyle 项目,但它不允许我构建我需要的所有阶段。 有来自 SCM 的 PipeLine /Pipeline 脚本,它又不允许我构建我需要的所有阶段。

我想做的是坚持我当前的管道,但将其设置为 运行 当脚本被推送到 Bitbucket 时。我所需要的只是指向正确的文档。如果可能的话。如果不可能,那我就重新开始画板。

我想出了解决办法。我设置了一个文件夹项目,设置了 Git Repo。然后我创建了一个名为 JenkinsFile 的 Jenkins 文件,其中包含所有阶段和步骤。然后将其上传到正在构建的仓库中。因此构建将 运行 拉入 JenkinsFile 的主要项目并 运行s 它。