上周我们第一次举办了派对网络堵塞首秀题目为:必威国际有限公司詹金斯2.0阿莉莎我们的活动主管,我和他一起一系列的会议专注于《詹金斯2》中一些最显著的方面:必威国际有限公司

  • 项目必威国际有限公司创始人的Jenkins 2.0主题演讲Kohsuke川口

  • “作为代码的管道”的概述帕特里克•沃尔夫

  • 深入了解管道和相关的插件,如Multibranch等杰西•格里克•巴蒂亚

  • 新用户体验的概述从基斯Zantow

  • 一个关于文档的快速讨论由您的真实

  • Kohsuke再次结束了会议,谈论了超越Jenkins 2.0的道路以及他所看到的大项目。必威国际有限公司

这次活动对我来说真的很有趣,我希望对那些参与直播和问答环节的人提供有用的信息。我期待着在未来举办更多的Virtual JAM活动,我也希望你们能这样做加入我们吧!

问题和答案

下面是在Virtual JAM期间提出的问题和答案的集合。其中许多问题在会议期间得到了回答,但为了子孙后代,下文将全部列出。

管道

哪种类型的DSL在管道后面用作代码?是使用Groovy还是允许用户自由使用不同的语言?

Pipeline使用基于groovy的领域特定语言。

如何测试自己的管道DSL?

重放有助于在创建管道和分支级别时进行测试/调试。有一些想法杰西•格里克建议进行测试必威国际有限公司Jenkinsfile和管道库捕获必威国际有限公司詹金斯- 33925

“幸存詹金斯重启”难道不是[C必威国际有限公司loudBees]詹金斯企业独有的吗?

不,不需要这个功能CloudBees詹必威国际有限公司金斯企业.虚拟JAM期间显示的所有特性都是免费和开源的。CloudBees的J必威国际有限公司enkins Enterprise产品支持从指定的阶段重新启动,但这不是开源的。

在跟踪工作定义方面,je必威国际有限公司nkins 2.0与github的集成情况如何?

使用GitHub组织文件夹插件,詹必威国际有限公司金斯可以自动检测必威国际有限公司Jenkinsfile在源存储库中创建管道项目。

请让重新运行失败阶段的能力也开放源代码:)

这已转交给我们在CloudBees的朋友考虑:)

如果必威国际有限公司Jenkinsfile在repo中,与代码共存,这是否意味着Jenkins可以自动检测不同分支的新任务?必威国际有限公司

这是可以使用的管道Multibranch插件

有哪些关于Pipeline的文档来源?

我们的文档部分包含许多围绕管道的页面。在插件中还有额外的文档和示例git存储库必威国际有限公司jenkinsci / pipeline-examples存储库。(贡献欢迎!)

在哪里可以找到DSL方法文档?

有生成文档jenkins.io必威国际有限公司其中包括所有公共插件的步骤。在一个正在运行的Jenkins实例中,您必威国际有限公司还可以导航到必威国际有限公司JENKINS_URL / workflow-cps-snippetizer / dslReference查看该实例中安装的插件的文档。

如果Pipeline不支持一些插件(实际上有很多),我需要SonarQube Runner,但不幸的是,它还不支持,在Job DSL插件中,我可以使用“配置块”,并通过XML覆盖任何插件,我如何用管道实现同样的功能?

现在不是时候

是否有可能创建自定义工具提示,例如快速参考或链接到内部项目文档?可能对需要参考外部文档的初级团队成员有用。

不一般。尽管在Pipeline全局库的情况下,您可以像这样创建变量/函数的描述standardBuild在演示中,这些将出现在Snippet Generator中全局变量下。

哦,管道支持加入工作?它真的很好,但我在https://必威国际有限公司jenkins.io/doc/你能告诉我在哪儿吗?

有一个构建步骤,但是Pipeline系统针对单作业管道进行了优化

我们有多个项目,我们想遵循相同的管道。我将如何编写一个可以跨多个项目共享的公共管道。

您可能想看看如何使用管道全球图书馆特性。这将允许您定义特定于组织的管道DSL扩展,以抽象出项目之间的公共模式。

当调用web hook / api来参数化管道时,创建上下文/设置环境变量或更改/修改构建工具选项有多大的灵活性,例如使用相同的管道将部署目标定位到不同的env

下面公开了各种环境变量env变量,它允许您根据需要构造简单或复杂的逻辑来实现您的目标。

当你第一次设置这个工作时,它是否构建了git中的每个分支,或者有没有办法阻止它构建旧分支?

在这个时候,防止老树枝被建立的最好的方法是移除必威国际有限公司Jenkinsfile在这些分支。或者,您可以在设置多分支管道的SCM配置时使用“包括”或“排除”模式。另请参阅必威国际有限公司詹金斯- 32396

类似于GitHub组织,BitBucket“项目”(组织回购集合的方式)是否会得到支持?

是的,这些是通过Bitbucket Branch Source插件

你如何处理管道插件的构建秘密?使用唯一凭证存储在凭证插件每个项目和/或分支?

可以通过使用凭证绑定插件

与GitHub组织类似,Gitlab项目是否以同样的方式得到支持?

GitLab项目目前还不被明确支持,但是GitHub组织文件夹插件使用的扩展点可以以类似的方式扩展到GitLab。另请参阅必威国际有限公司詹金斯- 34396

管道插件是否支持Perforce scm ?

作为一个SCM来源发现必威国际有限公司Jenkinsfile现在还没有。的P4插件提供了一些p4但是,可以在管道脚本中使用的步骤,请参阅这里的文档

Mercurial是否支持多分支?

是的,它是。

可以必威国际有限公司Jenkinsfile检测什么时候它在运行一个拉请求和一个被批准的提交,以便它可以执行不同类型的构建?

是的,通过env在DSL范围内提供的变量。使用一个如果语句,可以使用以下语句来保护特定行为:

如果(env。CHANGE_ID ! =){/ *做事!*/

假设我正在用Jenkins构建RPM,并使用构建号作为RPM版本/必威国际有限公司发布号。是否有一种方法来维护构建数量和利用版本控制必威国际有限公司Jenkinsfile

通过env变量,是可以利用的env。BUILD_NUMBER或者SCM提交ID,等等。

喜欢代码片段生成器!有没有可能把它从管道中分离出来,单独的页面,在左侧导航中可用?

是的,这是追踪到的必威国际有限公司詹金斯- 31831

在预创建管理员用户凭证和选择插件以自动化Jenkins安装方面有什么提示吗?必威国际有限公司

有各种各样的配置管理模块提供此功能的一部分。

我正在查看管道语法(在Jenkins 2.0中)如何检测一个必威国际有限公司步骤([…])已失败,并在必威国际有限公司Jenkinsfile

这可以通过用Groovy包装步骤调用来实现try / catch块。另请参阅必威国际有限公司詹金斯- 28119

用户界面/经验

当我们替换Jenkins.war时,用户体验是否和以前一样?必威国际有限公司X到2.x)在现有(有安全措施)的安装中?

您将获得新的UI特性,如重新设计的配置表单,但将跳过初始设置向导。作为替代,Jenkins将提必威国际有限公司供安装管道相关功能。

是否可以使用自定义语法高亮显示?

在Pipeline脚本编辑器本身中,没有。它正在使用ACE编辑器系统,所以它可能是一个插件来改变颜色方案使用。

你能详细说明蓝海的UI是什么吗?有链接或更多的信息吗?

蓝海是一个用户体验设计项目的名称,不幸的是目前还没有更多的信息。

一般

它与云环境的集成情况如何?

Jenk必威国际有限公司ins控制器和代理可以在任何支持运行Java应用程序的公共云环境中轻松运行。通过EC2JCloudsAzure,或任何其他扩展云的插件扩展点,可以在已配置的云提供商上动态提供新的构建代理。

帮助文本、其他标签和信息是否也针对其他本地化/语言进行了更新?

实际上Jenkins核心中的每个字符串都是可本地化的。必威国际有限公司这些字符串被翻译的程度取决于使用这些语言的人对项目的贡献。如果你想做翻译,这个wiki页面你应该开始了。

2.0中有额外的WinRM/Windows远程功能吗?

没有

是否有一个CLI来查找由特定用户创建的所有作业?

不,即时可用的Jenkins不会跟踪哪必威国际有限公司个用户创建了哪些工作。控件提供的功能所有权插件可能是感兴趣的。

请考虑用“主要”和“次要”替换“主”和“从”。

在Jenkins 2.0中,“奴隶”被“特工”取代。必威国际有限公司

更新2020-09-18当前位置“主人”一词已被“控制器”所取代。

我们已经制作了一段时间关于Jenkins的教程视频(主要是为了通过即将到来必威国际有限公司的CCJPE)。因为我们使用的是1.625.2(因为这是在考试中列出的),但我们应该以2.0为基础来制作视频吗?

目前为止,所有的必威国际有限公司詹金斯认证CloudBees所做的工作主要围绕Jenkins LTS 1.625.x。必威国际有限公司

关于作者
r·泰勒突堤

r·泰勒·克罗伊(R. Tyler Croy)在过去七年一直是詹金斯项必威国际有限公司目的一部分。在避免贡献任何Java代码的同时,Tyler参与了项目保持运行的许多其他方面,比如这个网站、基础设施、治理等。