Fro*_*ide 14 build jenkins jenkins-pipeline
Jenkins声明性管道提供了一个post指令,用于在阶段完成后执行代码.在阶段运行之前运行代码是否有类似的事情,最重要的是,在SCM结账之前?
例如,有些东西:
pre {
always {
rm -rf ./*
}
}
Run Code Online (Sandbox Code Playgroud)
然后,在签出源代码之前,这将清理我的构建工作区.
bur*_*ttk 18
pre是一个很酷的功能想法,但尚不存在.skipDefaultCheckout和checkout scm(与默认结帐相同)是键:
pipeline {
agent { label 'docker' }
options {
skipDefaultCheckout true
}
stages {
stage('clean_workspace_and_checkout_source') {
steps {
deleteDir()
checkout scm
}
}
stage('build') {
steps {
echo 'i build therefore i am'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
目前没有任何pre-build步骤,但为了您正在寻找的目的,它可以在管道作业配置和多分支管道作业中完成,当您定义 jenkinsfile 的位置时,选择其他行为 - >擦除存储库并强制克隆。
在构建之前删除工作区的内容,确保工作区完全新鲜。
如果您不想删除所有内容并节省一些网络使用量,则可以使用其他选项:其他行为 -> 结帐前清理。
每次签出之前,通过删除所有未跟踪的文件和目录(包括 .gitignore 中指定的文件和目录)来清理工作区。它还会将所有跟踪的文件重置为其版本状态。这可确保工作区处于与在全新的空目录中克隆和检出相同的状态,并确保您的构建不会受到先前构建生成的文件的影响。
此操作不会删除工作区,而只是将存储库重置为原始状态,并提取新的更改(如果有)。
| 归档时间: |
|
| 查看次数: |
7122 次 |
| 最近记录: |