首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与Jenkins Pipeline Stage交互

与Jenkins Pipeline Stage交互
EN

Stack Overflow用户
提问于 2016-10-17 22:37:26
回答 2查看 989关注 0票数 1

是否可以通过脚本(bat或sh)与Jenkins Pipeline进行交互?例如,启动新的阶段?

代码语言:javascript
复制
echo This is a batch file in no stage
pipeline.stage(build)
echo This is a batch file in build stage

我有一个用PowerShell编写的非常紧凑的构建任务。我的团队现在正在试验Jenkins Pipeline特性,如果能将ps构建代码分成几个阶段(构建核心、构建模块、测试、覆盖等),那就太好了。我们可以很容易地通过为每个阶段创建函数来做到这一点,但效率会很低(加载ps模块...)

EN

回答 2

Stack Overflow用户

发布于 2017-03-03 18:49:30

我建议您使用另一种方法:您可以在Powershell脚本中将不同的步骤定义为CmdLet:

代码语言:javascript
复制
function step_1()
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    param ()
    Write-Verbose "step 1"
}
function step_2()
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    param ()
    Write-Verbose "step 2"
}

然后,您可以定义Powershell方法,就像我描述的那样:To call a PowerScript from the Groovy-Script

在您的Groovy管道脚本中:

代码语言:javascript
复制
node ('MyWindowsSlave') {
    stage ('Stage 1') {
        PowerShell(". '.\\all-stages.ps1'; stage1 -Verbose")
    }
    stage ('Stage 2') {
        PowerShell(". '.\\all-stages.ps1'; stage2 -Verbose")
    }
}

您还可以考虑将Groovy脚本拆分为几个文件,让powershell开发人员使用他们自己的Groovy子脚本。

致以问候。

票数 1
EN

Stack Overflow用户

发布于 2017-12-12 16:55:39

您可以使用输入步骤(https://jenkins.io/doc/pipeline/steps/pipeline-input-step/)等待用户响应以继续管道:

一个简单的“是”或“否”,一个多项选择,一个密码确认...

例如,您可以使用ldap组来控制谁可以响应此输入事件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40089244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档