提交 e74d4a7e 编写于 作者: L LinuxSuRen

Automated deployment to GitHub Pages on 1578966953

上级 6db8314f
...@@ -1838,12 +1838,12 @@ RU5ErkJggg==" /> ...@@ -1838,12 +1838,12 @@ RU5ErkJggg==" />
<a href="/event/shanghai-2019-09/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/shanghai.jpeg"></img>
</a>
<a href="/event/beijing-2019-08-24/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/kaiyuan.jpg"></img>
</a>
...@@ -1855,15 +1855,15 @@ RU5ErkJggg==" /> ...@@ -1855,15 +1855,15 @@ RU5ErkJggg==" />
<a href="/event/shanghai-2019-09/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5"> <a href="/event/beijing-2019-07-27/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/shanghai.jpeg"></img> <img width="400px" height="200px" src="/images/meetup/ci-cd.jpeg"></img>
</a> </a>
<a href="/event/beijing-2019-07-27/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5"> <a href="/event/beijing-2019-08-24/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/ci-cd.jpeg"></img> <img width="400px" height="200px" src="/images/meetup/kaiyuan.jpg"></img>
</a> </a>
......
...@@ -51,6 +51,19 @@ ...@@ -51,6 +51,19 @@
"original": "https://dzone.com/articles/implement-ci-for-multibranch-pipeline-in-jenkins", "original": "https://dzone.com/articles/implement-ci-for-multibranch-pipeline-in-jenkins",
"poster": "cover.jpg" "poster": "cover.jpg"
}, },
{
"uri": "https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/",
"title": "欢迎使用流水线指令-矩阵",
"type": "wechat",
"date": "2019-12-29 00:00:00 +0000 UTC",
"tags": ["Jenkins", "pipeline"],
"description": "介绍了声明式流水线中 `matrix` 指令的使用方法,并介绍了 `matrix` 指令在pipeline中的句式",
"content": " 我经常发现自己需要在一堆不同的配置上执行相同的操作。到目前为止,意味着我需要在流水线上的同一阶段制作多个副本。当我需要修改时,必须在整个流水线的多个地方做相同的修改。对于一个更大型的流水线来说,即便维护很少的配置也会变得困难。 声明式流水线1.5.0-beta1(可以从Jenkins 实验性更新中心获取)添加了一个新的 matrix 部分,该部分能让我一次指定一个阶段列表,然后在多个配置上并行运行同一列表。让我们来看一看!\n单一配置流水线 开始我会使用一个带有构建和测试阶段的简单流水线。我使用 echo 步骤作为构建和测试行为的占位符。\nJenkinsfile\npipeline { agent none stages { stage('BuildAndTest') { agent any stages { stage('Build') { steps { echo 'Do Build' } } stage('Test') { steps { echo 'Do Test' } } } } } } 多平台与浏览器的流水线 我更喜欢在多系统以及浏览器结合的情况下执行我的构建和测试。新的 metrix 指令能让我定义一个 axes 的集合。每个 axis 有一个 name 以及包含了一个或多个 values 的列表。当流水线运行的时候,Jenkins 会将这些托管过来并将每个“轴”上所有可能值的组合运行在我的阶段内。一个“矩阵”上所有的元素都是并行运行的(只受限于可用的节点数量)。 我的“矩阵”有两个“轴”: PLATFORM 和 BROWSER 。PLATFORM 有三个值 BROWSER 有四个值,所以我的阶段会运行12个不同的组合。我已经修改了我的 echo 步骤用来使用每个元素中“轴”的值。\nJenkinsfile\npipeline { agent none stages { stage('BuildAndTest') { matrix { agent any axes { axis { name 'PLATFORM' values 'linux', 'windows', 'mac' } axis { name 'BROWSER' values 'firefox', 'chrome', 'safari', 'edge' } } stages { stage('Build') { steps { echo \u0026quot;Do Build for ${PLATFORM} - ${BROWSER}\u0026quot; } } stage('Test') { steps { echo \u0026quot;Do Test for ${PLATFORM} - ${BROWSER}\u0026quot; } } } } } } } 日志输出(部分内容)\n... [Pipeline] stage [Pipeline] { (BuildAndTest) [Pipeline] parallel [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'edge') (hide) [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'edge') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'edge') ... Do Build for linux - safari Do Build for linux - firefox Do Build for windows - firefox Do Test for linux - firefox Do Build for mac - firefox Do Build for linux - chrome Do Test for windows - firefox ... 排除无效的组合 现在我已经创建一个基本的“矩阵”了,我注意到我有一些无效的组合。 Edge 浏览器只在 Windows 系统上运行以及没有 Linux 版本的 Safari。 我可以使用 exclude 命令去掉我的“矩阵”中无效的元素。每个 exclude 含有一个或多个带有 name 和 values 的 axis 指令。一个 exclude 中的 axis 指令会生成一组组合(类似于生成“矩阵”中的元素)。“矩阵”中的元素匹配一个 exclude 中所有需要从“矩阵”中移出的值。如果我有不止一个 exclude 指令,每个都将分别评估来移除元素。 当需要处理一个长的排除列表时,我可以使用 notValues 而不是 values 去指定“轴”中我们不想排除的值。是的,这有点双重否定的意思,所以会有一点困惑。我只会在我真正想用的时候才会用它。 下面的流水线示例,我排除了 linux, safari 的组合同样我排除了除了 windows 之外的其他平台 和 edge 浏览器的组合。 重要 本流水线使用两个“轴”,但是没有使用 axis 指令数量的限制。 同样,在这个流水线里每个 exclude 指定这两个“轴”的值,但是这不是必须的。如果我们想只在“linux”元素中运行,我们需要使用以下的 exclude :\nexclude { axis { name 'PLATFORM' notValues 'linux' } } pipeline { agent none stages { stage('BuildAndTest') { matrix { agent any axes { axis { name 'PLATFORM' values 'linux', 'windows', 'mac' } axis { name 'BROWSER' values 'firefox', 'chrome', 'safari', 'edge' } } excludes { exclude { axis { name 'PLATFORM' values 'linux' } axis { name 'BROWSER' values 'safari' } } exclude { axis { name 'PLATFORM' notValues 'windows' } axis { name 'BROWSER' values 'edge' } } } stages { stage('Build') { steps { echo \u0026quot;Do Build for ${PLATFORM} - ${BROWSER}\u0026quot; } } stage('Test') { steps { echo \u0026quot;Do Test for ${PLATFORM} - ${BROWSER}\u0026quot; } } } } } } } 日志输出(部分内容)\n... [Pipeline] stage [Pipeline] { (BuildAndTest) [Pipeline] parallel [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'edge') ... Do Build for linux - firefox ... 运行时控制元素行为 在 matrix 指令中同样我可以添加“每个-元素”指令。这些相同的指令我可以添加到一个 stage 中让我可以控制“矩阵”中每一个元素的行为。这些指令可以从它们的元素的“轴”中获取值作为输入,允许我自定义每一个元素的行为以匹配它的“轴”的值。 在我的 Jenkins 服务器中我已经配置了各个节点并为各个节点配置了系统名称的标签(“linux-agent”,“windows-agent”,和“mac-agent” )。为了在正确的操作系统上运行“矩阵”中的元素,我配置了 Groovy 字符模板为元素配置标签。\nmatrix { axes { ... } excludes { ... } agent { label \u0026quot;${PLATFORM}-agent\u0026quot; } stages { ... } // ... } 有时我通过 Jenkins 的网页手动运行流水线任务。当我这样做时,我能够只选择一个运行的平台。 axis 和 exclude 指令定义了一个组成“矩阵”的一组静态的元素。这一组合的集合在运行开始之前就被创建出来,也早于任何的参数获取。也就意味着我不能在任务已经开始后从“矩阵”上添加或者移除元素。 另一方面,“每个-元素”指令,在运行时会被评估。我可以使用“每个-元素” metrix 中的 when 指令来控制“矩阵”中哪个元素会被执行。我添加了一个带有平台列表的 choice 字段,以及在 when 指令添加了判断,这样会确定是所有的平台都执行还是只执行我指定的平台的元素。\npipeline { parameters { choice(name: 'PLATFORM_FILTER', choices: ['all', 'linux', 'windows', 'mac'], description: 'Run on specific platform') } agent none stages { stage('BuildAndTest') { matrix { agent { label \u0026quot;${PLATFORM}-agent\u0026quot; } when { anyOf { expression { params.PLATFORM_FILTER == 'all' } expression { params.PLATFORM_FILTER == env.PLATFORM } } } axes { axis { name 'PLATFORM' values 'linux', 'windows', 'mac' } axis { name 'BROWSER' values 'firefox', 'chrome', 'safari', 'edge' } } excludes { exclude { axis { name 'PLATFORM' values 'linux' } axis { name 'BROWSER' values 'safari' } } exclude { axis { name 'PLATFORM' notValues 'windows' } axis { name 'BROWSER' values 'edge' } } } stages { stage('Build') { steps { echo \u0026quot;Do Build for ${PLATFORM} - ${BROWSER}\u0026quot; } } stage('Test') { steps { echo \u0026quot;Do Test for ${PLATFORM} - ${BROWSER}\u0026quot; } } } } } } } 如果我从 Jenkins 的 UI 页面上运行流水线设置 PLATFORM_FILTER 字段为 mac ,我会得到如下的输出:\n日志输出(部分内容 - PLATFORM_FILTER = \u0026lsquo;mac\u0026rsquo;)\n... [Pipeline] stage [Pipeline] { (BuildAndTest) [Pipeline] parallel [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'firefox') [Pipeline] { (Branch: Matrix - OS = 'linux', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'chrome') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'mac', BROWSER = 'safari') [Pipeline] { (Branch: Matrix - OS = 'windows', BROWSER = 'edge') ... Stage \u0026quot;Matrix - OS = 'linux', BROWSER = 'chrome'\u0026quot; skipped due to when conditional Stage \u0026quot;Matrix - OS = 'linux', BROWSER = 'firefox'\u0026quot; skipped due to when conditional ... Do Build for mac - firefox Do Build for mac - chrome Do Build for mac - safari ... Stage \u0026quot;Matrix - OS = 'windows', BROWSER = 'chrome'\u0026quot; skipped due to when conditional Stage \u0026quot;Matrix - OS = 'windows', BROWSER = 'edge'\u0026quot; skipped due to when conditional ... Do Test for mac - safari Do Test for mac - firefox Do Test for mac - chrome 重要 在DevOps World | Jenkins World 2019 “声明式流水线2019:知识点,技巧,以及接下来的事情”中与我一起参与。我会回顾过去的一年有哪些加入到了流水线(包括“矩阵”)以及探讨一些关于流水线下一步走向的想法。\n结论 这篇博客里面,我们已经看到了怎样使用 matrix 指令来构成简洁但又强大的声明式流水线。同样的一个不带有 matrix 的流水线会容易一些,但会消耗更多的时间同样也会更难理解和维护。\n链接 Jenkins 实验性更新中心 使用 Jenkins 实验性更新中心 ",
"auhtor": "Liam Newman",
"translator": "0N0thing",
"original": "https://jenkins.io/blog/2019/11/22/welcome-to-the-matrix/",
"poster": "cover.jpg"
},
{ {
"uri": "https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/", "uri": "https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/",
"title": "Jenkins CLI 命令行 v0.0.24", "title": "Jenkins CLI 命令行 v0.0.24",
...@@ -2928,7 +2941,7 @@ ...@@ -2928,7 +2941,7 @@
"uri": "https://jenkins-zh.github.io/tags/pipeline/", "uri": "https://jenkins-zh.github.io/tags/pipeline/",
"title": "Pipeline", "title": "Pipeline",
"type": "tags", "type": "tags",
"date": "2019-12-19 00:00:00 +0000 UTC", "date": "2019-12-29 00:00:00 +0000 UTC",
"tags": [], "tags": [],
"description": "", "description": "",
"content": "", "content": "",
......
...@@ -61,6 +61,19 @@ GitHub 请您使用同一个 GitHub 账号来与大家交流,不欢迎使用 ...@@ -61,6 +61,19 @@ GitHub 请您使用同一个 GitHub 账号来与大家交流,不欢迎使用
键入 GitHub 用户名、密码、ID 和描述。</description> 键入 GitHub 用户名、密码、ID 和描述。</description>
</item> </item>
<item>
<title>欢迎使用流水线指令-矩阵</title>
<link>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</link>
<pubDate>Sun, 29 Dec 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</guid>
<description>我经常发现自己需要在一堆不同的配置上执行相同的操作。到目前为止,意味着我需要在流水线上的同一阶段制作多个副本。当我需要修改时,必须在整个流水线的多个地方做相同的修改。对于一个更大型的流水线来说,即便维护很少的配置也会变得困难。 声明式流水线1.5.0-beta1(可以从Jenkins 实验性更新中心获取)添加了一个新的 matrix 部分,该部分能让我一次指定一个阶段列表,然后在多个配置上并行运行同一列表。让我们来看一看!
单一配置流水线 开始我会使用一个带有构建和测试阶段的简单流水线。我使用 echo 步骤作为构建和测试行为的占位符。
Jenkinsfile
pipeline { agent none stages { stage(&#39;BuildAndTest&#39;) { agent any stages { stage(&#39;Build&#39;) { steps { echo &#39;Do Build&#39; } } stage(&#39;Test&#39;) { steps { echo &#39;Do Test&#39; } } } } } } 多平台与浏览器的流水线 我更喜欢在多系统以及浏览器结合的情况下执行我的构建和测试。新的 metrix 指令能让我定义一个 axes 的集合。每个 axis 有一个 name 以及包含了一个或多个 values 的列表。当流水线运行的时候,Jenkins 会将这些托管过来并将每个“轴”上所有可能值的组合运行在我的阶段内。一个“矩阵”上所有的元素都是并行运行的(只受限于可用的节点数量)。 我的“矩阵”有两个“轴”: PLATFORM 和 BROWSER 。PLATFORM 有三个值 BROWSER 有四个值,所以我的阶段会运行12个不同的组合。我已经修改了我的 echo 步骤用来使用每个元素中“轴”的值。
Jenkinsfile</description>
</item>
<item> <item>
<title>Jenkins CLI 命令行 v0.0.24</title> <title>Jenkins CLI 命令行 v0.0.24</title>
<link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/</link> <link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/</link>
......
...@@ -21,6 +21,11 @@ ...@@ -21,6 +21,11 @@
<lastmod>2019-12-31T00:00:00+00:00</lastmod> <lastmod>2019-12-31T00:00:00+00:00</lastmod>
</url> </url>
<url>
<loc>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</loc>
<lastmod>2019-12-29T00:00:00+00:00</lastmod>
</url>
<url> <url>
<loc>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/</loc> <loc>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/</loc>
<lastmod>2019-12-26T00:00:00+00:00</lastmod> <lastmod>2019-12-26T00:00:00+00:00</lastmod>
...@@ -1171,7 +1176,7 @@ ...@@ -1171,7 +1176,7 @@
<url> <url>
<loc>https://jenkins-zh.github.io/tags/pipeline/</loc> <loc>https://jenkins-zh.github.io/tags/pipeline/</loc>
<lastmod>2019-12-19T00:00:00+00:00</lastmod> <lastmod>2019-12-29T00:00:00+00:00</lastmod>
<priority>0</priority> <priority>0</priority>
</url> </url>
......
...@@ -1445,6 +1445,12 @@ var trackOutboundLink = function(id, url) { ...@@ -1445,6 +1445,12 @@ var trackOutboundLink = function(id, url) {
</a> </a>
</h3> </h3>
<h3>
<a href="https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link blue">
欢迎使用流水线指令-矩阵
</a>
</h3>
<h3> <h3>
<a href="https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link blue"> <a href="https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link blue">
Webhook 通用触发插件 Webhook 通用触发插件
...@@ -2161,6 +2167,12 @@ var trackOutboundLink = function(id, url) { ...@@ -2161,6 +2167,12 @@ var trackOutboundLink = function(id, url) {
</a> </a>
</h2> </h2>
<h3>
<a href="https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link blue">
欢迎使用流水线指令-矩阵
</a>
</h3>
<h3> <h3>
<a href="https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link blue"> <a href="https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link blue">
使用 Docker 全自动构建 Java 应用 使用 Docker 全自动构建 Java 应用
......
...@@ -680,7 +680,7 @@ ...@@ -680,7 +680,7 @@
<item> <item>
<title>Pipeline</title> <title>Pipeline</title>
<link>https://jenkins-zh.github.io/tags/pipeline/</link> <link>https://jenkins-zh.github.io/tags/pipeline/</link>
<pubDate>Thu, 19 Dec 2019 00:00:00 +0000</pubDate> <pubDate>Sun, 29 Dec 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.github.io/tags/pipeline/</guid> <guid>https://jenkins-zh.github.io/tags/pipeline/</guid>
<description></description> <description></description>
......
...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) { ...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1>
<div class="lh-copy links">
介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px"> <div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
......
...@@ -27,6 +27,19 @@ ...@@ -27,6 +27,19 @@
键入 GitHub 用户名、密码、ID 和描述。</description> 键入 GitHub 用户名、密码、ID 和描述。</description>
</item> </item>
<item>
<title>欢迎使用流水线指令-矩阵</title>
<link>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</link>
<pubDate>Sun, 29 Dec 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</guid>
<description>我经常发现自己需要在一堆不同的配置上执行相同的操作。到目前为止,意味着我需要在流水线上的同一阶段制作多个副本。当我需要修改时,必须在整个流水线的多个地方做相同的修改。对于一个更大型的流水线来说,即便维护很少的配置也会变得困难。 声明式流水线1.5.0-beta1(可以从Jenkins 实验性更新中心获取)添加了一个新的 matrix 部分,该部分能让我一次指定一个阶段列表,然后在多个配置上并行运行同一列表。让我们来看一看!
单一配置流水线 开始我会使用一个带有构建和测试阶段的简单流水线。我使用 echo 步骤作为构建和测试行为的占位符。
Jenkinsfile
pipeline { agent none stages { stage(&#39;BuildAndTest&#39;) { agent any stages { stage(&#39;Build&#39;) { steps { echo &#39;Do Build&#39; } } stage(&#39;Test&#39;) { steps { echo &#39;Do Test&#39; } } } } } } 多平台与浏览器的流水线 我更喜欢在多系统以及浏览器结合的情况下执行我的构建和测试。新的 metrix 指令能让我定义一个 axes 的集合。每个 axis 有一个 name 以及包含了一个或多个 values 的列表。当流水线运行的时候,Jenkins 会将这些托管过来并将每个“轴”上所有可能值的组合运行在我的阶段内。一个“矩阵”上所有的元素都是并行运行的(只受限于可用的节点数量)。 我的“矩阵”有两个“轴”: PLATFORM 和 BROWSER 。PLATFORM 有三个值 BROWSER 有四个值,所以我的阶段会运行12个不同的组合。我已经修改了我的 echo 步骤用来使用每个元素中“轴”的值。
Jenkinsfile</description>
</item>
<item> <item>
<title>Webhook 通用触发插件</title> <title>Webhook 通用触发插件</title>
<link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/</link> <link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/</link>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/tags/jenkins/" /> <meta property="og:url" content="https://jenkins-zh.github.io/tags/jenkins/" />
<meta property="og:updated_time" content="2019-06-14T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-06-26T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jenkins"> <meta itemprop="name" content="Jenkins">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) { ...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1>
<div class="lh-copy links">
介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px"> <div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/tags/jenkins/" /> <meta property="og:url" content="https://jenkins-zh.github.io/tags/jenkins/" />
<meta property="og:updated_time" content="2019-05-09T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-05-13T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jenkins"> <meta itemprop="name" content="Jenkins">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) { ...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1>
<div class="lh-copy links">
介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px"> <div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/tags/jenkins/" /> <meta property="og:url" content="https://jenkins-zh.github.io/tags/jenkins/" />
<meta property="og:updated_time" content="2019-04-12T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-04-15T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jenkins"> <meta itemprop="name" content="Jenkins">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) { ...@@ -231,6 +231,33 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1>
<div class="lh-copy links">
介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px"> <div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/tags/pipeline/" /> <meta property="og:url" content="https://jenkins-zh.github.io/tags/pipeline/" />
<meta property="og:updated_time" content="2019-12-19T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-12-29T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Pipeline"> <meta itemprop="name" content="Pipeline">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1>
<div class="lh-copy links">
介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link primary-color dim">使用 Docker 全自动构建 Java 应用</a> <a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link primary-color dim">使用 Docker 全自动构建 Java 应用</a>
</h1> </h1>
......
...@@ -6,11 +6,24 @@ ...@@ -6,11 +6,24 @@
<description>Recent content in Pipeline on Jenkins 中文社区</description> <description>Recent content in Pipeline on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator> <generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language> <language>zh-CN</language>
<lastBuildDate>Thu, 19 Dec 2019 00:00:00 +0000</lastBuildDate> <lastBuildDate>Sun, 29 Dec 2019 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.github.io/tags/pipeline/index.xml" rel="self" type="application/rss+xml" /> <atom:link href="https://jenkins-zh.github.io/tags/pipeline/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>欢迎使用流水线指令-矩阵</title>
<link>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</link>
<pubDate>Sun, 29 Dec 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</guid>
<description>我经常发现自己需要在一堆不同的配置上执行相同的操作。到目前为止,意味着我需要在流水线上的同一阶段制作多个副本。当我需要修改时,必须在整个流水线的多个地方做相同的修改。对于一个更大型的流水线来说,即便维护很少的配置也会变得困难。 声明式流水线1.5.0-beta1(可以从Jenkins 实验性更新中心获取)添加了一个新的 matrix 部分,该部分能让我一次指定一个阶段列表,然后在多个配置上并行运行同一列表。让我们来看一看!
单一配置流水线 开始我会使用一个带有构建和测试阶段的简单流水线。我使用 echo 步骤作为构建和测试行为的占位符。
Jenkinsfile
pipeline { agent none stages { stage(&#39;BuildAndTest&#39;) { agent any stages { stage(&#39;Build&#39;) { steps { echo &#39;Do Build&#39; } } stage(&#39;Test&#39;) { steps { echo &#39;Do Test&#39; } } } } } } 多平台与浏览器的流水线 我更喜欢在多系统以及浏览器结合的情况下执行我的构建和测试。新的 metrix 指令能让我定义一个 axes 的集合。每个 axis 有一个 name 以及包含了一个或多个 values 的列表。当流水线运行的时候,Jenkins 会将这些托管过来并将每个“轴”上所有可能值的组合运行在我的阶段内。一个“矩阵”上所有的元素都是并行运行的(只受限于可用的节点数量)。 我的“矩阵”有两个“轴”: PLATFORM 和 BROWSER 。PLATFORM 有三个值 BROWSER 有四个值,所以我的阶段会运行12个不同的组合。我已经修改了我的 echo 步骤用来使用每个元素中“轴”的值。
Jenkinsfile</description>
</item>
<item> <item>
<title>使用 Docker 全自动构建 Java 应用</title> <title>使用 Docker 全自动构建 Java 应用</title>
<link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/</link> <link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/</link>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/tags/pipeline/" /> <meta property="og:url" content="https://jenkins-zh.github.io/tags/pipeline/" />
<meta property="og:updated_time" content="2019-06-10T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-07-01T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Pipeline"> <meta itemprop="name" content="Pipeline">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1>
<div class="lh-copy links">
介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link primary-color dim">使用 Docker 全自动构建 Java 应用</a> <a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link primary-color dim">使用 Docker 全自动构建 Java 应用</a>
</h1> </h1>
......
...@@ -488,6 +488,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -488,6 +488,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -652,8 +652,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -652,8 +652,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link"> <a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
使用 Docker 全自动构建 Java 应用 欢迎使用流水线指令-矩阵
</a> </a>
</li> </li>
...@@ -664,6 +664,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -664,6 +664,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link">
使用 Docker 全自动构建 Java 应用
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link"> <a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link">
介绍新的 GitLab 分支源插件 介绍新的 GitLab 分支源插件
......
...@@ -425,6 +425,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -425,6 +425,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -589,6 +589,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -589,6 +589,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -504,6 +504,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -504,6 +504,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -521,6 +521,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -521,6 +521,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -458,6 +458,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -458,6 +458,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -547,6 +547,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -547,6 +547,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -472,6 +472,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -472,6 +472,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -616,6 +616,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -616,6 +616,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -473,6 +473,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -473,6 +473,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -640,6 +640,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -640,6 +640,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -434,6 +434,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -434,6 +434,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -659,6 +659,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -659,6 +659,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -389,6 +389,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -389,6 +389,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -385,6 +385,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -385,6 +385,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -457,6 +457,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -457,6 +457,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -401,6 +401,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -401,6 +401,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -600,6 +600,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -600,6 +600,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -608,6 +608,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -608,6 +608,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -532,6 +532,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -532,6 +532,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -690,6 +690,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -690,6 +690,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -343,10 +343,10 @@ var trackOutboundLink = function(id, url) { ...@@ -343,10 +343,10 @@ var trackOutboundLink = function(id, url) {
<h2>参考</h2> <h2>参考</h2>
<ul> <ul>
<li><a href="/wechat/articles/2019/07/2019-07-09-jenkins-release/">Jenkins 长期支持版更新</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-18-jenkins-weekly-release/">Jenkins 每周版更新</a></li> <li><a href="/wechat/articles/2019/07/2019-07-18-jenkins-weekly-release/">Jenkins 每周版更新</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-09-jenkins-release/">Jenkins 长期支持版更新</a></li>
</ul> </ul>
</div> </div>
...@@ -412,6 +412,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -412,6 +412,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -396,6 +396,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -396,6 +396,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -605,6 +605,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -605,6 +605,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -564,6 +564,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -564,6 +564,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -654,6 +654,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -654,6 +654,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -562,8 +562,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -562,8 +562,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link"> <a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
使用 Docker 全自动构建 Java 应用 欢迎使用流水线指令-矩阵
</a> </a>
</li> </li>
...@@ -574,6 +574,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -574,6 +574,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link">
使用 Docker 全自动构建 Java 应用
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link"> <a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link">
介绍新的 GitLab 分支源插件 介绍新的 GitLab 分支源插件
......
...@@ -446,6 +446,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -446,6 +446,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -422,6 +422,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -422,6 +422,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -424,6 +424,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -424,6 +424,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -454,8 +454,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -454,8 +454,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link"> <a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
使用 Docker 全自动构建 Java 应用 欢迎使用流水线指令-矩阵
</a> </a>
</li> </li>
...@@ -466,6 +466,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -466,6 +466,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link">
使用 Docker 全自动构建 Java 应用
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link"> <a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link">
介绍新的 GitLab 分支源插件 介绍新的 GitLab 分支源插件
......
...@@ -448,6 +448,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -448,6 +448,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -466,8 +466,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -466,8 +466,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link"> <a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
使用 Docker 全自动构建 Java 应用 欢迎使用流水线指令-矩阵
</a> </a>
</li> </li>
...@@ -478,6 +478,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -478,6 +478,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link">
使用 Docker 全自动构建 Java 应用
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link"> <a href="/wechat/articles/2019/09/2019-09-11-introducing-gitlab-branch-source-plugin/" class="link">
介绍新的 GitLab 分支源插件 介绍新的 GitLab 分支源插件
......
...@@ -465,10 +465,10 @@ var trackOutboundLink = function(id, url) { ...@@ -465,10 +465,10 @@ var trackOutboundLink = function(id, url) {
<li><a href="/wechat/articles/2019/07/2019-07-29-leveraging-jenkins-on-kubernetes/">在 Kubernetes 上使用 Jenkins </a></li> <li><a href="/wechat/articles/2019/07/2019-07-29-leveraging-jenkins-on-kubernetes/">在 Kubernetes 上使用 Jenkins </a></li>
<li><a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/">多分支流水线任务对 GitLab SCM 的支持</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-04-performance-testing-jenkins/">Jenkins 插件的微基准测试框架</a></li> <li><a href="/wechat/articles/2019/07/2019-07-04-performance-testing-jenkins/">Jenkins 插件的微基准测试框架</a></li>
<li><a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/">多分支流水线任务对 GitLab SCM 的支持</a></li>
<li><a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/">Jenkins 文档特别兴趣小组</a></li> <li><a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/">Jenkins 文档特别兴趣小组</a></li>
</ul> </ul>
......
...@@ -429,6 +429,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -429,6 +429,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -520,6 +520,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -520,6 +520,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
......
...@@ -234,7 +234,7 @@ var trackOutboundLink = function(id, url) { ...@@ -234,7 +234,7 @@ var trackOutboundLink = function(id, url) {
</a> </a>
<a href="https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-31-implement-cicd-for-multibranch-pipeline-in-jenkins/" class="dib f6 pl1 hover-bg-light-gray br-100" title="使用 Jenkins 实现 CI/CD 多分支流水线 "> <a href="https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="dib f6 pl1 hover-bg-light-gray br-100" title="欢迎使用流水线指令-矩阵 ">
<svg class="fill-current" height="30px" viewBox="0 0 24 24" width="30px" xmlns="http://www.w3.org/2000/svg"> <svg class="fill-current" height="30px" viewBox="0 0 24 24" width="30px" xmlns="http://www.w3.org/2000/svg">
<path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/> <path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"/>
<path d="M0 0h24v24H0z" fill="none"/> <path d="M0 0h24v24H0z" fill="none"/>
......
...@@ -264,7 +264,7 @@ var trackOutboundLink = function(id, url) { ...@@ -264,7 +264,7 @@ var trackOutboundLink = function(id, url) {
<a href="https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/" class="dib f6 pr1 hover-bg-light-gray br-100" title="Jenkins CLI 命令行 v0.0.24"> <a href="https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="dib f6 pr1 hover-bg-light-gray br-100" title="欢迎使用流水线指令-矩阵">
<svg class="fill-current" height="30px" viewBox="0 0 24 24" width="30px" xmlns="http://www.w3.org/2000/svg"> <svg class="fill-current" height="30px" viewBox="0 0 24 24" width="30px" xmlns="http://www.w3.org/2000/svg">
<path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/> <path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/>
<path d="M0 0h24v24H0z" fill="none"/> <path d="M0 0h24v24H0z" fill="none"/>
...@@ -509,6 +509,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link ...@@ -509,6 +509,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li> </li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link">
欢迎使用流水线指令-矩阵
</a>
</li>
<li class="db dib-l mb2 mr3"> <li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link">
Webhook 通用触发插件 Webhook 通用触发插件
......
...@@ -264,15 +264,15 @@ var trackOutboundLink = function(id, url) { ...@@ -264,15 +264,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.24</a> <a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="link primary-color dim">欢迎使用流水线指令-矩阵</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
jcli-v0.0.24 发布 介绍了声明式流水线中 <code>matrix</code> 指令的使用方法,并介绍了 <code>matrix</code> 指令在pipeline中的句式
<a href="/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -291,15 +291,15 @@ var trackOutboundLink = function(id, url) { ...@@ -291,15 +291,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link primary-color dim">Webhook 通用触发插件</a> <a href="/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.24</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
介绍通用 Webhook 触发插件,使用 Webhook 插件构建 Jenkins 自动化服务 jcli-v0.0.24 发布
<a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -318,15 +318,15 @@ var trackOutboundLink = function(id, url) { ...@@ -318,15 +318,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link primary-color dim">使用 Docker 全自动构建 Java 应用</a> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="link primary-color dim">Webhook 通用触发插件</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
这个过程很长,我们的目标是让所有这些事都自动化。 介绍通用 Webhook 触发插件,使用 Webhook 插件构建 Jenkins 自动化服务
<a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/12/2019-12-23-generic-webhook-trigger-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -345,15 +345,15 @@ var trackOutboundLink = function(id, url) { ...@@ -345,15 +345,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/12/2019-12-11-jenkins-health-advisor-by-cloudbees-is-here/" class="link primary-color dim">Jenkins 健康检查顾问</a> <a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="link primary-color dim">使用 Docker 全自动构建 Java 应用</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
CloudBees 推出了一项新的免费服务:Jenkins Health Advisor,帮助您保持 master 节点的健康 这个过程很长,我们的目标是让所有这些事都自动化。
<a href="/wechat/articles/2019/12/2019-12-11-jenkins-health-advisor-by-cloudbees-is-here/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/12/2019-12-19-full-build-automation-for-java-application-using-docker/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -372,15 +372,15 @@ var trackOutboundLink = function(id, url) { ...@@ -372,15 +372,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-29-jenkins-cicd-with-git-secrets/" class="link primary-color dim">Jenkins CI/CD 集成 Git Secrets</a> <a href="/wechat/articles/2019/12/2019-12-11-jenkins-health-advisor-by-cloudbees-is-here/" class="link primary-color dim">Jenkins 健康检查顾问</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
本教程将 Git Secrets 与 Jenkins CI/CD 流水线联系起来 CloudBees 推出了一项新的免费服务:Jenkins Health Advisor,帮助您保持 master 节点的健康
<a href="/wechat/articles/2019/11/2019-11-29-jenkins-cicd-with-git-secrets/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/12/2019-12-11-jenkins-health-advisor-by-cloudbees-is-here/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -399,15 +399,15 @@ var trackOutboundLink = function(id, url) { ...@@ -399,15 +399,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.23</a> <a href="/wechat/articles/2019/11/2019-11-29-jenkins-cicd-with-git-secrets/" class="link primary-color dim">Jenkins CI/CD 集成 Git Secrets</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
jcli-v0.0.23 发布 本教程将 Git Secrets 与 Jenkins CI/CD 流水线联系起来
<a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/11/2019-11-29-jenkins-cicd-with-git-secrets/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -426,15 +426,15 @@ var trackOutboundLink = function(id, url) { ...@@ -426,15 +426,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-22-plugin-docs-on-github/" class="link primary-color dim">Jenkins 插件文档即代码:将文档迁移到 GitHub</a> <a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="link primary-color dim">Jenkins CLI 命令行 v0.0.23</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
Jenkins 插件开发者,将你的插件文档迁移到 GitHub 吧! jcli-v0.0.23 发布
<a href="/wechat/articles/2019/11/2019-11-22-plugin-docs-on-github/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/11/2019-11-28-jcli-v0.0.23/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
...@@ -453,15 +453,15 @@ var trackOutboundLink = function(id, url) { ...@@ -453,15 +453,15 @@ var trackOutboundLink = function(id, url) {
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-20-jenkins-cli-help-you-manage-jenkins/" class="link primary-color dim">Jenkins CLI,助你轻松管理 Jenkins</a> <a href="/wechat/articles/2019/11/2019-11-22-plugin-docs-on-github/" class="link primary-color dim">Jenkins 插件文档即代码:将文档迁移到 GitHub</a>
</h1> </h1>
<div class="lh-copy links"> <div class="lh-copy links">
无论你是插件开发者,还是管理员或者只是一个普通的 Jenkins 用户,Jenkins CLI 都是为你而生 Jenkins 插件开发者,将你的插件文档迁移到 GitHub 吧
<a href="/wechat/articles/2019/11/2019-11-20-jenkins-cli-help-you-manage-jenkins/" class="f6 mt2 db link primary-color dim"> <a href="/wechat/articles/2019/11/2019-11-22-plugin-docs-on-github/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo; 查看更多 &raquo;
</a> </a>
......
...@@ -36,6 +36,19 @@ ...@@ -36,6 +36,19 @@
键入 GitHub 用户名、密码、ID 和描述。</description> 键入 GitHub 用户名、密码、ID 和描述。</description>
</item> </item>
<item>
<title>欢迎使用流水线指令-矩阵</title>
<link>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</link>
<pubDate>Sun, 29 Dec 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.github.io/wechat/articles/2020/01/2020-01-13-welcome-to-the-matrix/</guid>
<description>我经常发现自己需要在一堆不同的配置上执行相同的操作。到目前为止,意味着我需要在流水线上的同一阶段制作多个副本。当我需要修改时,必须在整个流水线的多个地方做相同的修改。对于一个更大型的流水线来说,即便维护很少的配置也会变得困难。 声明式流水线1.5.0-beta1(可以从Jenkins 实验性更新中心获取)添加了一个新的 matrix 部分,该部分能让我一次指定一个阶段列表,然后在多个配置上并行运行同一列表。让我们来看一看!
单一配置流水线 开始我会使用一个带有构建和测试阶段的简单流水线。我使用 echo 步骤作为构建和测试行为的占位符。
Jenkinsfile
pipeline { agent none stages { stage(&#39;BuildAndTest&#39;) { agent any stages { stage(&#39;Build&#39;) { steps { echo &#39;Do Build&#39; } } stage(&#39;Test&#39;) { steps { echo &#39;Do Test&#39; } } } } } } 多平台与浏览器的流水线 我更喜欢在多系统以及浏览器结合的情况下执行我的构建和测试。新的 metrix 指令能让我定义一个 axes 的集合。每个 axis 有一个 name 以及包含了一个或多个 values 的列表。当流水线运行的时候,Jenkins 会将这些托管过来并将每个“轴”上所有可能值的组合运行在我的阶段内。一个“矩阵”上所有的元素都是并行运行的(只受限于可用的节点数量)。 我的“矩阵”有两个“轴”: PLATFORM 和 BROWSER 。PLATFORM 有三个值 BROWSER 有四个值,所以我的阶段会运行12个不同的组合。我已经修改了我的 echo 步骤用来使用每个元素中“轴”的值。
Jenkinsfile</description>
</item>
<item> <item>
<title>Jenkins CLI 命令行 v0.0.24</title> <title>Jenkins CLI 命令行 v0.0.24</title>
<link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/</link> <link>https://jenkins-zh.github.io/wechat/articles/2019/12/2019-12-26-jcli-v0.0.24/</link>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-03-20T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-04-03T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-03-the-benefits-and-challenges-of-continuous-integration/" class="link primary-color dim">持续集成的收益与挑战</a>
</h1>
<div class="lh-copy links">
本文介绍了持续集成的定义,并解释了实施CI的各种收益与挑战
<a href="/wechat/articles/2019/04/2019-04-03-the-benefits-and-challenges-of-continuous-integration/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/03/2019-03-18-weekly-version/" class="link primary-color dim">Jenkins 更新通知</a> <a href="/wechat/articles/2019/03/2019-03-18-weekly-version/" class="link primary-color dim">Jenkins 更新通知</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/02/2019-02-13-outreachy-audit-log-plugin/" class="link primary-color dim">Jenkins 对审计日志的支持</a>
</h1>
<div class="lh-copy links">
Outreachy 实习生提供了 Jenkins 对审计日志的支持
<a href="/wechat/articles/2019/02/2019-02-13-outreachy-audit-log-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-02-13T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -208,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -208,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/02/2019-02-13-outreachy-audit-log-plugin/" class="link primary-color dim">Jenkins 对审计日志的支持</a>
</h1>
<div class="lh-copy links">
Outreachy 实习生提供了 Jenkins 对审计日志的支持
<a href="/wechat/articles/2019/02/2019-02-13-outreachy-audit-log-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/readme/" class="link primary-color dim"></a> <a href="/wechat/articles/readme/" class="link primary-color dim"></a>
</h1> </h1>
...@@ -455,33 +483,6 @@ Jenkins 中文社区邀您参与社区共同成长 在开源盛会开展的同 ...@@ -455,33 +483,6 @@ Jenkins 中文社区邀您参与社区共同成长 在开源盛会开展的同
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="link primary-color dim">春季安全清查</a>
</h1>
<div class="lh-copy links">
Jenkins 管理员们应该关注的安全问题
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -208,6 +208,33 @@ var trackOutboundLink = function(id, url) { ...@@ -208,6 +208,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="link primary-color dim">春季安全清查</a>
</h1>
<div class="lh-copy links">
Jenkins 管理员们应该关注的安全问题
<a href="/wechat/articles/2019/04/2019-04-15-security-spring-cleaning/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/01/2019-01-09-jenkins-evergreen/" class="link primary-color dim">自动更新、易于使用的 Jenkins</a> <a href="/wechat/articles/2019/01/2019-01-09-jenkins-evergreen/" class="link primary-color dim">自动更新、易于使用的 Jenkins</a>
</h1> </h1>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-11-18T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-11-20T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-20-jenkins-cli-help-you-manage-jenkins/" class="link primary-color dim">Jenkins CLI,助你轻松管理 Jenkins</a>
</h1>
<div class="lh-copy links">
无论你是插件开发者,还是管理员或者只是一个普通的 Jenkins 用户,Jenkins CLI 都是为你而生!
<a href="/wechat/articles/2019/11/2019-11-20-jenkins-cli-help-you-manage-jenkins/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/11/2019-11-18-integration-of-c-stat-code-analysis-with-automated-jenkins-ci-build/" class="link primary-color dim">Jenkins CI 自动构建与 C-STAT 代码分析的集成</a> <a href="/wechat/articles/2019/11/2019-11-18-integration-of-c-stat-code-analysis-with-automated-jenkins-ci-build/" class="link primary-color dim">Jenkins CI 自动构建与 C-STAT 代码分析的集成</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/10/2019-10-28-introducing-new-folder-authorization-plugin/" class="link primary-color dim">介绍新的文件夹授权插件</a>
</h1>
<div class="lh-copy links">
介绍新的文件夹授权插件
<a href="/wechat/articles/2019/10/2019-10-28-introducing-new-folder-authorization-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-10-25T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-10-28T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/10/2019-10-28-introducing-new-folder-authorization-plugin/" class="link primary-color dim">介绍新的文件夹授权插件</a>
</h1>
<div class="lh-copy links">
介绍新的文件夹授权插件
<a href="/wechat/articles/2019/10/2019-10-28-introducing-new-folder-authorization-plugin/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/10/2019-10-25-plugin-management-tool-alpha-release/" class="link primary-color dim">Alpha 版本的插件管理库和 CLI 工具</a> <a href="/wechat/articles/2019/10/2019-10-25-plugin-management-tool-alpha-release/" class="link primary-color dim">Alpha 版本的插件管理库和 CLI 工具</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-30-open-source-meeting/" class="link primary-color dim">庆祝开源人线下见面会圆满结束</a>
</h1>
<div class="lh-copy links">
让我们衷心庆祝开源人线下见面会圆满结束
<a href="/wechat/articles/2019/08/2019-08-30-open-source-meeting/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-08-23T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-08-30T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-30-open-source-meeting/" class="link primary-color dim">庆祝开源人线下见面会圆满结束</a>
</h1>
<div class="lh-copy links">
让我们衷心庆祝开源人线下见面会圆满结束
<a href="/wechat/articles/2019/08/2019-08-30-open-source-meeting/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-23-cloud-native-jenkins-on-aws/" class="link primary-color dim">AWS 上的云原生 Jenkins</a> <a href="/wechat/articles/2019/08/2019-08-23-cloud-native-jenkins-on-aws/" class="link primary-color dim">AWS 上的云原生 Jenkins</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-05-jenkins-multi-branch-pipeline/" class="link primary-color dim">在大型企业里维护多分支流水线</a>
</h1>
<div class="lh-copy links">
如果没有适当的解决方案,在大型企业可能难以创建和维护多分支流水线
<a href="/wechat/articles/2019/08/2019-08-05-jenkins-multi-branch-pipeline/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-07-31T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-08-05T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/08/2019-08-05-jenkins-multi-branch-pipeline/" class="link primary-color dim">在大型企业里维护多分支流水线</a>
</h1>
<div class="lh-copy links">
如果没有适当的解决方案,在大型企业可能难以创建和维护多分支流水线
<a href="/wechat/articles/2019/08/2019-08-05-jenkins-multi-branch-pipeline/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-31-pipeline-config-history-plugin/" class="link primary-color dim">Jenkins 流水线配置历史插件介绍</a> <a href="/wechat/articles/2019/07/2019-07-31-pipeline-config-history-plugin/" class="link primary-color dim">Jenkins 流水线配置历史插件介绍</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/" class="link primary-color dim">多分支流水线任务对 GitLab SCM 的支持</a>
</h1>
<div class="lh-copy links">
本文介绍了多分支流水线任务对 GitLab SCM 的支持
<a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-07-01T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-07-04T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/" class="link primary-color dim">多分支流水线任务对 GitLab SCM 的支持</a>
</h1>
<div class="lh-copy links">
本文介绍了多分支流水线任务对 GitLab SCM 的支持
<a href="/wechat/articles/2019/07/2019-07-10-phase-1-multibranch-pipeline-support-for-gitlab/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/07/2019-07-01-introducing-the-jenkins-templating-engine/" class="link primary-color dim">介绍 Jenkins 模板引擎</a> <a href="/wechat/articles/2019/07/2019-07-01-introducing-the-jenkins-templating-engine/" class="link primary-color dim">介绍 Jenkins 模板引擎</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/" class="link primary-color dim">Jenkins 文档特别兴趣小组</a>
</h1>
<div class="lh-copy links">
Jenkins 宣布成立文档特别兴趣小组
<a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-05-24T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-05-27T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/" class="link primary-color dim">Jenkins 文档特别兴趣小组</a>
</h1>
<div class="lh-copy links">
Jenkins 宣布成立文档特别兴趣小组
<a href="/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-24-achieve-cicd-with-jenkins-x-kubernetes-and-spring/" class="link primary-color dim">使用 Jenkins X、Kubernetes 和 Spring Boot 实现 CI/CD</a> <a href="/wechat/articles/2019/05/2019-05-24-achieve-cicd-with-jenkins-x-kubernetes-and-spring/" class="link primary-color dim">使用 Jenkins X、Kubernetes 和 Spring Boot 实现 CI/CD</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-13-jenkins-book-gift/" class="link primary-color dim">Jenkins 公众号送书福利</a>
</h1>
<div class="lh-copy links">
赠送 5 本《Jenkins 2.x实践指南》
<a href="/wechat/articles/2019/05/2019-05-13-jenkins-book-gift/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-13-jenkins-book-gift/" class="link primary-color dim">Jenkins 公众号送书福利</a>
</h1>
<div class="lh-copy links">
赠送 5 本《Jenkins 2.x实践指南》
<a href="/wechat/articles/2019/05/2019-05-13-jenkins-book-gift/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-13-cdf-call-for-papers/" class="link primary-color dim">持续交付峰会 Call For Papers</a> <a href="/wechat/articles/2019/05/2019-05-13-cdf-call-for-papers/" class="link primary-color dim">持续交付峰会 Call For Papers</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-25-jenkins-ansible-nginx/" class="link primary-color dim">使用 Jenkins &#43; Ansible 实现自动化部署 Nginx</a>
</h1>
<div class="lh-copy links">
使用 Jenkins + Ansible 实现自动化部署 Nginx
<a href="/wechat/articles/2019/04/2019-04-25-jenkins-ansible-nginx/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
<meta property="og:description" content="" /> <meta property="og:description" content="" />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.github.io/wechat/" /> <meta property="og:url" content="https://jenkins-zh.github.io/wechat/" />
<meta property="og:updated_time" content="2019-04-24T00:00:00&#43;00:00"/> <meta property="og:updated_time" content="2019-04-25T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats"> <meta itemprop="name" content="Wechats">
<meta itemprop="description" content=""> <meta itemprop="description" content="">
...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) { ...@@ -209,6 +209,33 @@ var trackOutboundLink = function(id, url) {
<div class="bg-white mb2 pa3 pa4-l gray"> <div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-25-jenkins-ansible-nginx/" class="link primary-color dim">使用 Jenkins &#43; Ansible 实现自动化部署 Nginx</a>
</h1>
<div class="lh-copy links">
使用 Jenkins + Ansible 实现自动化部署 Nginx
<a href="/wechat/articles/2019/04/2019-04-25-jenkins-ansible-nginx/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3"> <h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-24-progressive-delivery-in-kubernetes-blue-green-and-canary-deployments/" class="link primary-color dim">Kubernetes 中的渐进式交付:蓝绿部署和金丝雀部署</a> <a href="/wechat/articles/2019/04/2019-04-24-progressive-delivery-in-kubernetes-blue-green-and-canary-deployments/" class="link primary-color dim">Kubernetes 中的渐进式交付:蓝绿部署和金丝雀部署</a>
</h1> </h1>
...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) { ...@@ -446,33 +473,6 @@ var trackOutboundLink = function(id, url) {
<div class="relative weight-0" style="max-width: 350px">
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-03-the-benefits-and-challenges-of-continuous-integration/" class="link primary-color dim">持续集成的收益与挑战</a>
</h1>
<div class="lh-copy links">
本文介绍了持续集成的定义,并解释了实施CI的各种收益与挑战
<a href="/wechat/articles/2019/04/2019-04-03-the-benefits-and-challenges-of-continuous-integration/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section> </section>
</div> </div>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册