如何将 Jenkinsfile 用于这些构建步骤?

时间:2021-04-05 08:42:33

标签: docker jenkins jenkins-pipeline bitbucket-pipelines

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

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

enter image description here

构建 Docker 容器的构建步骤:

enter image description here

构建是多配置项目类型:

enter image description here

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

enter image description here

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

1 个答案:

答案 0 :(得分:1)

无论您使用的是 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 标签中,您可以选择 Pipeline scriptPipeline script from SCM。在构建和修改工作流程时,最好从 Pipeline script 开始。稳定后,您可以将其添加到存储库中。

相关问题