@Library('myAwesomeLib')
#declare agent on pipeline level or use node('label') in post steps
pipeline{
agent{label 'my-agent}
parameters { --- your params ---}
stages{
stage{
steps{
---do your staff---
}
}
}
post{
always{
myCustomCleanup(params.choice_name)
}
}
}
字符串
图书馆
#vars/myCustomCleanup.groovy
def call(string myChoice){
switch(myChoice){
case('Always'):
#sh "rm -rf ${env.WORKSPACE}" - not good
cleanWs() # good
case('OnFail'):
if(currentBuild.result == 'FAILURE'){
cleanWs()
}
.... any other logic for cleanup....
}
}
1条答案
按热度按时间iklwldmw1#
Library vars将是更清晰的决策:
流水线
字符串
图书馆
型
但是,这对gitOps来说不是一个好的策略-你可能会用 publish steps 或 archiveArtifact 步骤来保存所有重要的员工,而忘记旧的工作区。另外,如果您没有使用 customWorkspace 选项覆盖工作区,则工作区将在下一次构建中重用。