现在Multibranch Pipeline作业类型已经成熟,是否有任何理由再使用简单的Pipeline作业类型?即使您今天只有一个分支,将来考虑多个分支的可能性也是明智之举,那么使用Jenkins管道的管道作业类型与始终使用Multibranch Pipeline作业类型的动机是什么呢?假设您将Jenkins文件存储在SCM中?现在两种工作类型之间是否存在功能奇偶校验?
我试图允许从脚本触发我的多分支Jenkins管道.但是,每次我选中该框并输入我的令牌名称并点击"保存"时,它都不会保存配置.当我下次点击编辑配置时,不再检查"远程触发构建"旁边的复选标记.
这是故意的吗?MultiBranch Pipeline作业不支持远程触发器吗?
我们可以查询工作流程中的哪些信息?关于特定构建阶段状态的任何信息(成功,失败,尚未到达,中止等等)?我看到我们可以input使用此方法与步骤进行交互,但是在哪里可以找到关于我们的构建的元数据(如果有的话)?
我的Pipeline中有一个简单的groovy列表,它添加了一些地图:
def componentList = []
def componentMapEntry1 = [:]
componentMapEntry1['componentName']="Dashboard_Core"
componentList << componentMapEntry1
def componentMapEntry2 = [:]
componentMapEntry2['componentName']="Dashboard_Equities"
componentList << componentMapEntry2
def cme3 = [:]
cme3["componentName"] = "home"
componentList << cme3
Run Code Online (Sandbox Code Playgroud)
执行作业时,我验证大小
echo "size of list "+componentList.size()
Run Code Online (Sandbox Code Playgroud)
...
[Pipeline] echo
size of list 3
Run Code Online (Sandbox Code Playgroud)
我可以把它打印出来
println componentList
Run Code Online (Sandbox Code Playgroud)
...
[Pipeline] echo
[{componentName=Dashboard_Core}, {componentName=Dashboard_Equities}, {componentName=home}]
Run Code Online (Sandbox Code Playgroud)
我可以做一个for循环并迭代列表
for (i = 0; i <componentList.size(); i++) {
println componentList[i]
}
Run Code Online (Sandbox Code Playgroud)
...
[Pipeline] echo
{componentName=Dashboard_Core}
[Pipeline] echo
{componentName=Dashboard_Equities}
[Pipeline] echo
{componentName=home}
Run Code Online (Sandbox Code Playgroud)
到目前为止一切都很好.
当我尝试使用标准groovy迭代器时出现问题:
componentList.each {
println …Run Code Online (Sandbox Code Playgroud) 有没有办法确保谁实际上是我们的Git存储库的提交者?我们在CloudBees中有每个开发人员的密钥,因此确保它是其中之一,但有没有什么可以阻止一个开发人员在提交字段中输入另一个开发人员的名字/电子邮件?如果不是阻止它们的方法,是否有办法至少从Git日志中确定提交者的SSH密钥?
我们正在评估 Spinnaker 的采用情况,并想了解哪些 API(如果有)可用于创建 Spinnaker 资源?如果我想在 Spinnaker 中编写/模板化我的应用程序的创建,那么最好的方法是什么?
目前我所看到的最好的是在 Spinnaker(例如 CloudFormation)之外编写基础设施的创建脚本,从您的 AWS 账户加载它,然后保留一个管道 JSON 文件库,这些文件可以复制/粘贴到 JSON 中将在后记中添加的管道表格。
据推测,Jenkins工作流输入步骤中指定的参数可用于消费和条件逻辑?我们如何获得这些价值观?例如,我们如何在下面的checkbox参数中获取和引用true或false值:
input id: 'Proceed1', message: 'Proceed or abort?', parameters: [[$class: 'BooleanParameterDefinition', defaultValue: false, description: '', name: 'Please confirm you agree with this']]
Run Code Online (Sandbox Code Playgroud)