【发布时间】:2019-07-05 08:43:19
【问题描述】:
我想在我的 Jenkinsfile 中有一个发布阶段,它只在从原始存储库中签出时运行。这是为了避免在克隆存储库上出现错误消息,因为那里缺少密钥等。
stage('Release')
{
when
{
allOf
{
// TODO Check for repository url https://github.com/PowerStat/TemplateEngine.git
branch 'master'
}
}
steps
{
script
{
if (isUnix())
{
sh 'mvn --batch-mode release:clean'
sh 'mvn --batch-mode release:prepare'
sh 'mvn --batch-mode release:perform'
}
else
{
bat 'mvn --batch-mode release:clean'
bat 'mvn --batch-mode release:prepare'
bat 'mvn --batch-mode release:perform'
}
}
}
}
我学习了Pipeline Syntax: when,但不知道如何进行我想要的测试。
我也想过使用环境变量Global Variable Reference,但发现其中没有存储库URL。
所以我的问题是:如何在声明式管道中实现此检查?
【问题讨论】: