如何在这些构建步骤中使用 Jenkinsfile?

How to use a Jenkinsfile for these build steps?

我正在学习如何使用 Jenkins 并致力于配置 Jenkins 文件而不是使用 Jenkins 构建 UI。

从 Bitbucket 构建的源代码管理步骤:

构建Docker容器的构建步骤:

该构建属于多配置项目类型:

https://www.jenkins.io/doc/book/pipeline/jenkinsfile/index.html 阅读 Jenkins 文件文档并使用 Pipeline 创建新版本:

我不确定如何配置我通过 UI 配置的步骤:Source Code ManagementBuild。如何转换可与 Jenkinsfile 一起使用的 Docker 和 Bitbucket 的配置?

无论您使用的是 UI 配置还是管道,SCM 都不会更改,尽管理论上您可以从管道中的步骤执行 git clone,如果您真的坚持将 SCM 步骤转换为纯流水线步骤。

流水线可以有多个阶段,每个阶段可以有不同的执行环境。您可以使用 Docker pipeline plug-in,也可以使用纯 sh 在构建代理上发出 docker 命令。

这是我的一个手动构建管道中的小示例:

pipeline {
    agent none
    stages {
        stage('Init') {
            agent { label 'docker-x86' }
            steps {
                checkout scm
                sh 'docker stop demo-001c || true'
                sh 'docker rm demo-001c || true'
            }
        }
        stage('Build Back-end') {
            agent { label 'docker-x86' }
            steps {
                sh 'docker build -t demo-001:latest ./docker'
            }
        }
        stage('Test') {
            agent {
                docker { 
                    label 'docker-x86' 
                }
            }
            steps {
                sh 'docker run --name demo-001c demo-001:latest'
                sh 'cd test && make test-back-end'
            }
        }
    }
}

您需要创建一个 Pipeline 类型的项目并在 General 选项卡中指定 SCM 配置。在 Pipeline 选项卡中,您可以选择 select Pipeline scriptPipeline script from SCM。在构建和修改工作流程时,最好从 Pipeline script 开始。稳定后,您可以将其添加到存储库中。