1
有沒有一種方法可以從SCM提交的管道文件中使用Jenkins「Execute system groovy script」步驟?Jenkins:在管道步驟中執行系統groovy腳本(SCM承諾)
如果是,我將如何訪問其中的預定義變量(如構建)?
如果否,我是否能夠複製功能,否則,使用例如共享庫插件?
謝謝!
有沒有一種方法可以從SCM提交的管道文件中使用Jenkins「Execute system groovy script」步驟?Jenkins:在管道步驟中執行系統groovy腳本(SCM承諾)
如果是,我將如何訪問其中的預定義變量(如構建)?
如果否,我是否能夠複製功能,否則,使用例如共享庫插件?
謝謝!
你可以把Groovy代碼在一個(總是源控制)Jenkinsfile管道,像這樣:
pipeline {
agent { label 'docker' }
stages {
stage ('build') {
steps {
script {
// i used a script block because you can jam arbitrary groovy in here
// without being constrained by the declarative Jenkinsfile DSL
def awesomeVar = 'so_true'
print "look at this: ${awesomeVar}"
// accessing a predefined variable:
echo "currentBuild.number: ${currentBuild.number}"
}
}
}
}
}
可生產控制檯日誌:
[Pipeline] echo
look at this: so_true
[Pipeline] echo
currentBuild.number: 84
單擊「管道語法「鏈接在任何管道作業的左側導航欄中,以獲取一些您可以在」全局變量參考「中訪問的示例。
我不認爲這種方式的腳本是在主人身上執行的,而是受詹金斯的沙箱模式的約束?我對「Execute system groovy script」的系統部分超級感興趣:-D – C4stor
它在master上執行,它受jenkins的沙盒模式的約束,可以根據每個案例的基本情況重寫方法在https://medium.com/dronzebot/jenkins-groovy-script-approval-eff569f597f6中描述。 – burnettk
好吧,我的壞,偉大然後:) – C4stor