提交 a0f304e8 编写于 作者: LinuxSuRen's avatar LinuxSuRen

Auto commit by hugo-plugin.

上级 c7a53e3a
......@@ -36,7 +36,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/" />
<meta property="og:updated_time" content="2019-05-06T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jenkins 中文社区">
<meta itemprop="description" content="">
......@@ -244,43 +244,43 @@
<a href="/event/beijing-2019-04-20/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/cloud-native-community-day.jpeg"></img>
<a href="/event/shanghai-2019-06/" 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-11/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<a href="/event/wuhang/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/hacktberfest.jpg"></img>
</a>
<a href="/event/shenzhen/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/shenzhen.jpeg"></img>
<a href="/event/hangzhou-2019-05/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/hangzhou.jpeg"></img>
</a>
<a href="/event/shanghai-2019-06/" 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 href="/event/beijing-2019-11/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/hacktberfest.jpg"></img>
</a>
<a href="/event/wuhang/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/hacktberfest.jpg"></img>
<a href="/event/beijing-2019-04-20/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/cloud-native-community-day.jpeg"></img>
</a>
<a href="/event/hangzhou-2019-05/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/hangzhou.jpeg"></img>
<a href="/event/shenzhen/" class="tile lazyload cover dib f4 ml1 mr4 bg-black relative mw-100 shadow-5">
<img width="400px" height="200px" src="/images/meetup/shenzhen.jpeg"></img>
</a>
......
......@@ -12,6 +12,19 @@
"original": "",
"poster": ""
},
{
"uri": "https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/",
"title": "Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)",
"type": "wechat",
"date": "2019-05-08 00:00:00 +0000 UTC",
"tags": ["jenkins", "maven", "jira"],
"description": "两天内,从产生 idea 到编写插件,最后发布到 Jenkins 插件更新中心",
"content": " 本文分上下两篇,上篇介绍了从产生 idea 到插件开发完成的过程; 下篇将介绍将插件托管到 Jenkins 插件更新中心的一系列过程。\n托管插件 托管插件包括一系列流程步骤。 笔者完成了它所有步骤(包括非必须的步骤),其中主要有两个具有标志性的任务: - 插件代码被托管在 jenkinsci GitHub 组织的一个仓库,然后作者拥有它的管理权限。\n笔者插件的代码仓库为:jenkinsci/maven-snapshot-check-plugin 。 - 你可以将插件发布到 Jenkins 项目的 Maven 仓库,它是 Jenkins 项目所使用的更新站点的数据来源。\n准备工作 在请求插件托管之前,需要完成以下几个步骤。\n查找类似的插件 Jenkins 社区欢迎任何人的贡献,但为了让 Jenkins 用户受益, 它要求查找解决相同或类似问题的插件,看看是否可以与现有的维护人员联手。 可以在 https://plugins.jenkins.io 查看所有的插件, 以确认是否已有类似的插件实现了你计划实现的功能。 笔者在之前已进行过查找,并没有找到可以实现笔者计划实现的功能的类似插件。\n命名规约 Jenkins 制定了一些与插件相关的命名规约。 插件开发者要确保遵循这些命名规约。\nartifactId 插件的 artifactId 被用于文件基本名称,是 Jenkins 插件和更新站点的唯一标识。\n它需要遵循一些发布规约: - 使用小写 ID ,并根据需要使用连字符分隔术语。 - 除非名称有任何意义,否则不要在 ID 中包含 jenkins 或 plugin 。\n插件名称 插件的名称在 Jenkins UI 和其它地方(如:插件站点)展示给用户。\n如果可以,建议使用简短的描述性名称,如 Subversion 。\n笔者所写的插件的名称为:Maven SNAPSHOT Check 。\ngroupId 推荐使用 io.jenkins.plugins 或 org.jenkins-ci.plugins 作为 groupId 。 但是不禁止其他组织 ID ,除非它们是恶意的(例如引用与你没有关系的组织)。 笔者所写的插件使用的 groupId 为: org.jenkins-ci.plugins 。\nJava 源代码 Jenkins 项目一般遵循 Oracle Java 代码规约, 但是并没有很好的强制甚至在核心组件中。 个别的插件维护者有时会选择使用不同的风格指南作为插件。 笔者日常使用 IDEA 进行开发,之前安装了「阿里 Java 规约插件」, 因而使用它作为编码规约。\n提交消息 Git 提交消息应该从引用与之相关的 JIRA 问题开始(如果适用), 然后在第一行进行简短的总结,并在随后的行中提供更多详细信息。例如:\n[JENKINS-00000] Frobnicate the widget 如果给定的提交修复了指定的问题, 那么使用以下前缀中的任何一个将会自动化解决相关的 JIRA 问题。\n[FIX JENKINS-00000] Frobnicate the widget [FIXED JENKINS-00000] Frobnicate the widget [FIXES JENKINS-00000] Frobnicate the widget 由于还没过将插件托管,笔者并没有遵循该规约, 等插件发布后,笔者将考虑遵循该规约。\nLicense Jenkins 项目分发的所有插件都需要是免费的开源软件。 这适用于插件源代码及其所有依赖项。 要确保在 pom.xml 文件和仓库中的 LICENSE 文件指定协议。 官方建议使用 MIT license ,它用于 Jenkins 核心和大多数插件和库, 但是任何 OSI 批准的开源 license 都可以。 笔者这里使用了 MIT license 。\n要求注册的账号 通过 Jenkins 项目更新站点分发的插件需要托管在 jenkinsci GitHub 组织中, 因此需要在 GitHub 上有一个账号,并且需要有一个公共仓库来存放插件源代码。\n为了完整地发布你的插件,需要注册一个 Jenkins 社区帐号, 它可以让你访问 JIRA,wiki 和 Maven 仓库 。\n发起托管请求 注意:Jenkins 官方自动化流程使用更容易实现的 fork + 删除的方式(见下文),而不是转移仓库所有者。\n 登录到 JIRA 然后在 HOSTING 项目创建一个问题。 请确保按照描述填写所有字段。 Jenkins 项目成员将在几天内审查你的请求。 如果审查人员要求你更改,那么请按照要求进行更改。\n笔者提交的申请为:HOSTING-750, 比较幸运的是当天凌晨(北京时间)笔者的请求就被审查, 正巧那时笔者未眠,于是随后按要求进行了更改并在不久后该申请被审批通过。\n一旦满足了所有的需求,你的仓库将被 fork 到 jenkinsci 组织中, 并且你将被邀请加入该组织,并且将为你在 JENKINS 项目中创建 JIRA 组件。\n此时,将要求你删除 Jenkins 从中 fork 的仓库。 之后你可以通过再次从 jenkinsci 那里 fork 来重新创建它。 这将确保 jenkinsci 仓库是 Github 上网络图的根。 这意味着: - 不会混淆哪个仓库是权威仓库。 - 即使在 GitHub 上没有大量的关注者,源代码搜索也会成功。 - 其他人更可能在 jenkinsci 仓库中提交 pull request(这是协作的理想选择)。\n创建 wiki 页面 尽管这对发布插件来说这不是严格要求的,但最好为插件创建一个 wiki 页面来存储文档。关于如何执行此操作的详细信息,请参阅插件 wiki 页面指南。\n笔者所写的插件的 wiki 页面为:Maven SNAPSHOT Check Plugin 。 其间除了官方文档,笔者还参考了其它插件 wiki 页面的排版。\n开启 CI 构建 Jenkins 项目托管了一个 Jenkins 实例来执行插件的持续集成构建。 官方推荐通过在插件的 Github 仓库根目录创建一个 Jenkinsfile, 为在 Jenkinsci Github 组织中的插件设置 CI 构建。 典型的插件构建( Maven 或 Gradle )只需在 Jenkinsfile 中包含以下语句即可运行:\nbuildPlugin() 申请上传权限 在源代码被 fork 到 jenkinsci 组织后,需要提交一个上传权限请求。 按照 jenkins-infra/repository-permissions-updater/ 仓库的 README 文件中所说的来做就可以。\nJenkins 项目在 Artifactory 上托管 Maven 制品,例如核心和插件发布。 它的权限系统与 Github 是独立的, 限制了那些用户(由 Jenkins LDAP 帐户标识,与 wiki 和 JIRA 一样)可以上传。 这个仓库包含 YAML 格式的 Artifactory 上传权限定义, 以及将它们同步到 Artifactory 的工具。 \u0026gt; 先决条件:在申请权限之前,需要先用 Jenkins 社区帐号登录一次 Artifactory 。\n要请求对制品(通常是插件)的上传权限,需要提交一个 PR , 该 PR 需要创建与申请上传权限相关的 YAML 文件。 笔者所提交的 PR 为:Plugin: Permission for maven-snapshot-check-plugin 。\n通过查看它可以看出该 PR 增加了一个文件:permissions/plugin-maven-snapshot-check.yml ,其内容如下:\nname: \u0026quot;maven-snapshot-check\u0026quot; github: \u0026quot;jenkinsci/maven-snapshot-check-plugin\u0026quot; paths: - \u0026quot;org/jenkins-ci/plugins/maven-snapshot-check\u0026quot; developers: - \u0026quot;donhui\u0026quot; 在创建 PR 后,会有帮助说明以及 checklist 让提交人对该 PR 进行检查确认。\n等这个 PR 被审批后,插件开发者就会拥有该插件的发布权限。\n发布插件 前提 要先确认拥有发布该插件的权限。\nMaven 要使用的 Artifactory 凭据 需要告诉 Maven 访问 Artifactory 的凭据。 登录 Artifactory ,从用户 profile 中获取加密的密码。 在 ~/.m2/settings.xml 文件配置 server 认证信息,如下所示:\n\u0026lt;settings xmlns=\u0026quot;https://maven.apache.org/SETTINGS/1.0.0\u0026quot; xmlns:xsi=\u0026quot;http://www.w3.org/2001/XMLSchema-instance\u0026quot; xsi:schemaLocation=\u0026quot;https://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd\u0026quot;\u0026gt; \u0026lt;servers\u0026gt; \u0026lt;server\u0026gt; \u0026lt;id\u0026gt;maven.jenkins-ci.org\u0026lt;/id\u0026gt; \u0026lt;username\u0026gt;your_user_name_here\u0026lt;/username\u0026gt; \u0026lt;password\u0026gt;your_encrypted_password_here\u0026lt;/password\u0026gt; \u0026lt;/server\u0026gt; \u0026lt;/servers\u0026gt; \u0026lt;/settings\u0026gt; 配置 GitHub 以接受你的 SSH key 当执行 release 时,Maven Release Plugin 会自动往仓库推送代码, 所以需要配置 GitHub 以接受你的 SSH key 。\n更多信息可以参考:GitHub help on SSH 。\n执行发布 当 GitHub 和 Maven 凭据配置好后, 执行一次发布应该很简单,只需要运行下面的命令:\nmvn release:prepare release:perform 可能在执行发布时会遇到 \u0026ldquo;401 Unauthorized\u0026rdquo; 或 \u0026ldquo;403 Forbidden\u0026rdquo; 之类问题, 这一般是 settings.xml 配置问题或是没有上传权限。 一些公共的问题处理方案可以查看:HostingPlugins-Workingaroundcommonissues。\n插件发布后,8 小时内,将可以在插件更新中心看到它。\n笔者所写的 maven-snapshot-check 插件, 在插件列表页的地址为:https://plugins.jenkins.io/maven-snapshot-check 。\nJenkins 实例的插件管理页面的「可选插件」选项截图如下: 为插件分类 在 Jenkins 插件列表页面,可以对插件进行分类显示。\n要为插件添加一个分类,需要向 jenkins-infra/update-center2 仓库提交一个 PR 。 笔者所提交的 PR 为:add maven-snapshot-check category 。\n通过查看它可以看出该 PR 在 src/main/resources/label-definitions.properties 文件增加了一行,如下所示:\nmaven-snapshot-check=builder 总结 两天的 Jenkins 插件开发之旅(尤其是 04.24 晚上花了很多时间), 让笔者了解了插件开发的基本知识,并在托管插件的过程中学到一些知识。 然后在周末花了几个小时总结回顾,并将它写成文档。 同时也希望此文能给 Jenkins 插件开发者入门带来一点帮助!\n参考 Guide to Plugin Hosting Performing a Plugin Release ",
"auhtor": "donhui",
"translator": "",
"original": "",
"poster": "../../../images/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/sunset.png"
},
{
"uri": "https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/",
"title": "Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)",
......@@ -1056,7 +1069,7 @@
"uri": "https://jenkins-zh.cn/tags/jenkins/",
"title": "Jenkins",
"type": "tags",
"date": "2019-05-06 00:00:00 +0000 UTC",
"date": "2019-05-08 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......@@ -1108,7 +1121,7 @@
"uri": "https://jenkins-zh.cn/",
"title": "Jenkins 中文社区",
"type": "page",
"date": "2019-05-06 00:00:00 +0000 UTC",
"date": "2019-05-08 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......@@ -1212,7 +1225,7 @@
"uri": "https://jenkins-zh.cn/tags/jira/",
"title": "Jira",
"type": "tags",
"date": "2019-05-06 00:00:00 +0000 UTC",
"date": "2019-05-08 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......@@ -1264,7 +1277,7 @@
"uri": "https://jenkins-zh.cn/tags/maven/",
"title": "Maven",
"type": "tags",
"date": "2019-05-06 00:00:00 +0000 UTC",
"date": "2019-05-08 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......@@ -1537,7 +1550,7 @@
"uri": "https://jenkins-zh.cn/wechat/",
"title": "Wechats",
"type": "wechat",
"date": "2019-05-06 00:00:00 +0000 UTC",
"date": "2019-05-08 00:00:00 +0000 UTC",
"tags": [],
"description": "",
"content": "",
......
......@@ -6,7 +6,7 @@
<description>Recent content on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Mon, 06 May 2019 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 08 May 2019 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/index.xml" rel="self" type="application/rss+xml" />
......@@ -24,6 +24,25 @@
GitHub 请您使用同一个 GitHub 账号来与大家交流,不欢迎使用所谓的“小号”。</description>
</item>
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</link>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</guid>
<description>本文分上下两篇,上篇介绍了从产生 idea 到插件开发完成的过程; 下篇将介绍将插件托管到 Jenkins 插件更新中心的一系列过程。
托管插件 托管插件包括一系列流程步骤。 笔者完成了它所有步骤(包括非必须的步骤),其中主要有两个具有标志性的任务: - 插件代码被托管在 jenkinsci GitHub 组织的一个仓库,然后作者拥有它的管理权限。
笔者插件的代码仓库为:jenkinsci/maven-snapshot-check-plugin 。 - 你可以将插件发布到 Jenkins 项目的 Maven 仓库,它是 Jenkins 项目所使用的更新站点的数据来源。
准备工作 在请求插件托管之前,需要完成以下几个步骤。
查找类似的插件 Jenkins 社区欢迎任何人的贡献,但为了让 Jenkins 用户受益, 它要求查找解决相同或类似问题的插件,看看是否可以与现有的维护人员联手。 可以在 https://plugins.jenkins.io 查看所有的插件, 以确认是否已有类似的插件实现了你计划实现的功能。 笔者在之前已进行过查找,并没有找到可以实现笔者计划实现的功能的类似插件。
命名规约 Jenkins 制定了一些与插件相关的命名规约。 插件开发者要确保遵循这些命名规约。
artifactId 插件的 artifactId 被用于文件基本名称,是 Jenkins 插件和更新站点的唯一标识。
它需要遵循一些发布规约: - 使用小写 ID ,并根据需要使用连字符分隔术语。 - 除非名称有任何意义,否则不要在 ID 中包含 jenkins 或 plugin 。
插件名称 插件的名称在 Jenkins UI 和其它地方(如:插件站点)展示给用户。
如果可以,建议使用简短的描述性名称,如 Subversion 。
笔者所写的插件的名称为:Maven SNAPSHOT Check 。</description>
</item>
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/</link>
......
......@@ -6,6 +6,11 @@
<loc>https://jenkins-zh.cn/about/code-of-conduct/</loc>
</url>
<url>
<loc>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</loc>
<lastmod>2019-05-08T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/</loc>
<lastmod>2019-05-06T00:00:00+00:00</lastmod>
......@@ -407,7 +412,7 @@
<url>
<loc>https://jenkins-zh.cn/tags/jenkins/</loc>
<lastmod>2019-05-06T00:00:00+00:00</lastmod>
<lastmod>2019-05-08T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......@@ -427,7 +432,7 @@
<url>
<loc>https://jenkins-zh.cn/</loc>
<lastmod>2019-05-06T00:00:00+00:00</lastmod>
<lastmod>2019-05-08T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......@@ -463,7 +468,7 @@
<url>
<loc>https://jenkins-zh.cn/tags/jira/</loc>
<lastmod>2019-05-06T00:00:00+00:00</lastmod>
<lastmod>2019-05-08T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......@@ -486,7 +491,7 @@
<url>
<loc>https://jenkins-zh.cn/tags/maven/</loc>
<lastmod>2019-05-06T00:00:00+00:00</lastmod>
<lastmod>2019-05-08T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......@@ -604,7 +609,7 @@
<url>
<loc>https://jenkins-zh.cn/wechat/</loc>
<lastmod>2019-05-06T00:00:00+00:00</lastmod>
<lastmod>2019-05-08T00:00:00+00:00</lastmod>
<priority>0</priority>
</url>
......
......@@ -748,6 +748,12 @@
</a>
</h2>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link blue">
Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)
</a>
</h3>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link blue">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
......@@ -938,6 +944,12 @@
</a>
</h2>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link blue">
Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)
</a>
</h3>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link blue">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
......@@ -1026,6 +1038,12 @@
</a>
</h2>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link blue">
Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)
</a>
</h3>
<h3>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link blue">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
......
......@@ -248,7 +248,7 @@
<item>
<title>Jenkins</title>
<link>https://jenkins-zh.cn/tags/jenkins/</link>
<pubDate>Mon, 06 May 2019 00:00:00 +0000</pubDate>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/tags/jenkins/</guid>
<description></description>
......@@ -284,7 +284,7 @@
<item>
<title>Jira</title>
<link>https://jenkins-zh.cn/tags/jira/</link>
<pubDate>Mon, 06 May 2019 00:00:00 +0000</pubDate>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/tags/jira/</guid>
<description></description>
......@@ -320,7 +320,7 @@
<item>
<title>Maven</title>
<link>https://jenkins-zh.cn/tags/maven/</link>
<pubDate>Mon, 06 May 2019 00:00:00 +0000</pubDate>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/tags/maven/</guid>
<description></description>
......
......@@ -35,7 +35,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/tags/jenkins/" />
<meta property="og:updated_time" content="2019-05-06T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jenkins">
<meta itemprop="description" content="">
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</a>
</h1>
<div class="lh-copy links">
两天内,从产生 idea 到编写插件,最后发布到 Jenkins 插件更新中心
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" 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">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</a>
</h1>
......
......@@ -6,11 +6,30 @@
<description>Recent content in Jenkins on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Mon, 06 May 2019 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 08 May 2019 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/tags/jenkins/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</link>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</guid>
<description>本文分上下两篇,上篇介绍了从产生 idea 到插件开发完成的过程; 下篇将介绍将插件托管到 Jenkins 插件更新中心的一系列过程。
托管插件 托管插件包括一系列流程步骤。 笔者完成了它所有步骤(包括非必须的步骤),其中主要有两个具有标志性的任务: - 插件代码被托管在 jenkinsci GitHub 组织的一个仓库,然后作者拥有它的管理权限。
笔者插件的代码仓库为:jenkinsci/maven-snapshot-check-plugin 。 - 你可以将插件发布到 Jenkins 项目的 Maven 仓库,它是 Jenkins 项目所使用的更新站点的数据来源。
准备工作 在请求插件托管之前,需要完成以下几个步骤。
查找类似的插件 Jenkins 社区欢迎任何人的贡献,但为了让 Jenkins 用户受益, 它要求查找解决相同或类似问题的插件,看看是否可以与现有的维护人员联手。 可以在 https://plugins.jenkins.io 查看所有的插件, 以确认是否已有类似的插件实现了你计划实现的功能。 笔者在之前已进行过查找,并没有找到可以实现笔者计划实现的功能的类似插件。
命名规约 Jenkins 制定了一些与插件相关的命名规约。 插件开发者要确保遵循这些命名规约。
artifactId 插件的 artifactId 被用于文件基本名称,是 Jenkins 插件和更新站点的唯一标识。
它需要遵循一些发布规约: - 使用小写 ID ,并根据需要使用连字符分隔术语。 - 除非名称有任何意义,否则不要在 ID 中包含 jenkins 或 plugin 。
插件名称 插件的名称在 Jenkins UI 和其它地方(如:插件站点)展示给用户。
如果可以,建议使用简短的描述性名称,如 Subversion 。
笔者所写的插件的名称为:Maven SNAPSHOT Check 。</description>
</item>
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/</link>
......
......@@ -35,7 +35,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/tags/jenkins/" />
<meta property="og:updated_time" content="2019-03-13T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-04-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jenkins">
<meta itemprop="description" content="">
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</a>
</h1>
<div class="lh-copy links">
两天内,从产生 idea 到编写插件,最后发布到 Jenkins 插件更新中心
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" 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">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</a>
</h1>
......
......@@ -35,7 +35,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/tags/jira/" />
<meta property="og:updated_time" content="2019-05-06T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Jira">
<meta itemprop="description" content="">
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</a>
</h1>
<div class="lh-copy links">
两天内,从产生 idea 到编写插件,最后发布到 Jenkins 插件更新中心
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" 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">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</a>
</h1>
......
......@@ -6,11 +6,30 @@
<description>Recent content in Jira on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Mon, 06 May 2019 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 08 May 2019 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/tags/jira/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</link>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</guid>
<description>本文分上下两篇,上篇介绍了从产生 idea 到插件开发完成的过程; 下篇将介绍将插件托管到 Jenkins 插件更新中心的一系列过程。
托管插件 托管插件包括一系列流程步骤。 笔者完成了它所有步骤(包括非必须的步骤),其中主要有两个具有标志性的任务: - 插件代码被托管在 jenkinsci GitHub 组织的一个仓库,然后作者拥有它的管理权限。
笔者插件的代码仓库为:jenkinsci/maven-snapshot-check-plugin 。 - 你可以将插件发布到 Jenkins 项目的 Maven 仓库,它是 Jenkins 项目所使用的更新站点的数据来源。
准备工作 在请求插件托管之前,需要完成以下几个步骤。
查找类似的插件 Jenkins 社区欢迎任何人的贡献,但为了让 Jenkins 用户受益, 它要求查找解决相同或类似问题的插件,看看是否可以与现有的维护人员联手。 可以在 https://plugins.jenkins.io 查看所有的插件, 以确认是否已有类似的插件实现了你计划实现的功能。 笔者在之前已进行过查找,并没有找到可以实现笔者计划实现的功能的类似插件。
命名规约 Jenkins 制定了一些与插件相关的命名规约。 插件开发者要确保遵循这些命名规约。
artifactId 插件的 artifactId 被用于文件基本名称,是 Jenkins 插件和更新站点的唯一标识。
它需要遵循一些发布规约: - 使用小写 ID ,并根据需要使用连字符分隔术语。 - 除非名称有任何意义,否则不要在 ID 中包含 jenkins 或 plugin 。
插件名称 插件的名称在 Jenkins UI 和其它地方(如:插件站点)展示给用户。
如果可以,建议使用简短的描述性名称,如 Subversion 。
笔者所写的插件的名称为:Maven SNAPSHOT Check 。</description>
</item>
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/</link>
......
......@@ -35,7 +35,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/tags/maven/" />
<meta property="og:updated_time" content="2019-05-06T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Maven">
<meta itemprop="description" content="">
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</a>
</h1>
<div class="lh-copy links">
两天内,从产生 idea 到编写插件,最后发布到 Jenkins 插件更新中心
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" 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">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</a>
</h1>
......
......@@ -6,11 +6,30 @@
<description>Recent content in Maven on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Mon, 06 May 2019 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 08 May 2019 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/tags/maven/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</link>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</guid>
<description>本文分上下两篇,上篇介绍了从产生 idea 到插件开发完成的过程; 下篇将介绍将插件托管到 Jenkins 插件更新中心的一系列过程。
托管插件 托管插件包括一系列流程步骤。 笔者完成了它所有步骤(包括非必须的步骤),其中主要有两个具有标志性的任务: - 插件代码被托管在 jenkinsci GitHub 组织的一个仓库,然后作者拥有它的管理权限。
笔者插件的代码仓库为:jenkinsci/maven-snapshot-check-plugin 。 - 你可以将插件发布到 Jenkins 项目的 Maven 仓库,它是 Jenkins 项目所使用的更新站点的数据来源。
准备工作 在请求插件托管之前,需要完成以下几个步骤。
查找类似的插件 Jenkins 社区欢迎任何人的贡献,但为了让 Jenkins 用户受益, 它要求查找解决相同或类似问题的插件,看看是否可以与现有的维护人员联手。 可以在 https://plugins.jenkins.io 查看所有的插件, 以确认是否已有类似的插件实现了你计划实现的功能。 笔者在之前已进行过查找,并没有找到可以实现笔者计划实现的功能的类似插件。
命名规约 Jenkins 制定了一些与插件相关的命名规约。 插件开发者要确保遵循这些命名规约。
artifactId 插件的 artifactId 被用于文件基本名称,是 Jenkins 插件和更新站点的唯一标识。
它需要遵循一些发布规约: - 使用小写 ID ,并根据需要使用连字符分隔术语。 - 除非名称有任何意义,否则不要在 ID 中包含 jenkins 或 plugin 。
插件名称 插件的名称在 Jenkins UI 和其它地方(如:插件站点)展示给用户。
如果可以,建议使用简短的描述性名称,如 Subversion 。
笔者所写的插件的名称为:Maven SNAPSHOT Check 。</description>
</item>
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/</link>
......
......@@ -424,8 +424,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -436,6 +436,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -368,8 +368,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -380,6 +380,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -525,8 +525,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -537,6 +537,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -447,8 +447,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -459,6 +459,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -457,8 +457,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -469,6 +469,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -401,8 +401,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -413,6 +413,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -490,8 +490,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -502,6 +502,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -415,8 +415,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -427,6 +427,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -559,8 +559,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -571,6 +571,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -409,8 +409,8 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(篇)
</a>
</li>
......@@ -421,6 +421,15 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)
</a>
</li>
......
......@@ -214,6 +214,14 @@
</a>
<a href="https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="dib f6 pl1 hover-bg-light-gray br-100" title="Jenkins 插件开发之旅:两天内从 idea 到发布(下篇) ">
<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="M0 0h24v24H0z" fill="none"/>
</svg>
</a>
<a href="https://jenkins-zh.cn/wechat/articles/2019/04/2019-04-30-what-cicd-tool-should-i-use/" class="dib f6 pr1 hover-bg-light-gray br-100" title="应该使用什么 CI/CD 工具?">
......@@ -574,6 +582,12 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link">
Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)
</a>
</li>
<li class="db b mt4 mb2 mr2">
......@@ -581,6 +595,9 @@ f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link
</li>
<li class="db dib-l mb2 mr3">
<a href="/wechat/articles/2019/04/2019-04-29-progressive-delivery-with-jenkins-x-automatic-cana/" class="link">
使用 Jenkins X 渐进式交付:自动化金丝雀部署
......
......@@ -35,7 +35,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-05-06T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-05-08T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</a>
</h1>
<div class="lh-copy links">
两天内,从产生 idea 到编写插件,最后发布到 Jenkins 插件更新中心
<a href="/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/" 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">
<a href="/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/" class="link primary-color dim">Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</a>
</h1>
......@@ -401,33 +428,6 @@
<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-19-the-business-value-of-cd/" class="link primary-color dim">持续交付的商业价值</a>
</h1>
<div class="lh-copy links">
了解整体的持续交付如何帮助你的组织以更低的风险更快地交付和更新软件
<a href="/wechat/articles/2019/04/2019-04-19-the-business-value-of-cd/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -6,11 +6,30 @@
<description>Recent content in Wechats on Jenkins 中文社区</description>
<generator>Hugo -- gohugo.io</generator>
<language>zh-CN</language>
<lastBuildDate>Mon, 06 May 2019 00:00:00 +0000</lastBuildDate>
<lastBuildDate>Wed, 08 May 2019 00:00:00 +0000</lastBuildDate>
<atom:link href="https://jenkins-zh.cn/wechat/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(下篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</link>
<pubDate>Wed, 08 May 2019 00:00:00 +0000</pubDate>
<guid>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-08-jenkins-plugin-develop-within-two-days-part02/</guid>
<description>本文分上下两篇,上篇介绍了从产生 idea 到插件开发完成的过程; 下篇将介绍将插件托管到 Jenkins 插件更新中心的一系列过程。
托管插件 托管插件包括一系列流程步骤。 笔者完成了它所有步骤(包括非必须的步骤),其中主要有两个具有标志性的任务: - 插件代码被托管在 jenkinsci GitHub 组织的一个仓库,然后作者拥有它的管理权限。
笔者插件的代码仓库为:jenkinsci/maven-snapshot-check-plugin 。 - 你可以将插件发布到 Jenkins 项目的 Maven 仓库,它是 Jenkins 项目所使用的更新站点的数据来源。
准备工作 在请求插件托管之前,需要完成以下几个步骤。
查找类似的插件 Jenkins 社区欢迎任何人的贡献,但为了让 Jenkins 用户受益, 它要求查找解决相同或类似问题的插件,看看是否可以与现有的维护人员联手。 可以在 https://plugins.jenkins.io 查看所有的插件, 以确认是否已有类似的插件实现了你计划实现的功能。 笔者在之前已进行过查找,并没有找到可以实现笔者计划实现的功能的类似插件。
命名规约 Jenkins 制定了一些与插件相关的命名规约。 插件开发者要确保遵循这些命名规约。
artifactId 插件的 artifactId 被用于文件基本名称,是 Jenkins 插件和更新站点的唯一标识。
它需要遵循一些发布规约: - 使用小写 ID ,并根据需要使用连字符分隔术语。 - 除非名称有任何意义,否则不要在 ID 中包含 jenkins 或 plugin 。
插件名称 插件的名称在 Jenkins UI 和其它地方(如:插件站点)展示给用户。
如果可以,建议使用简短的描述性名称,如 Subversion 。
笔者所写的插件的名称为:Maven SNAPSHOT Check 。</description>
</item>
<item>
<title>Jenkins 插件开发之旅:两天内从 idea 到发布(上篇)</title>
<link>https://jenkins-zh.cn/wechat/articles/2019/05/2019-05-06-jenkins-plugin-develop-within-two-days-part01/</link>
......
......@@ -35,7 +35,7 @@
<meta property="og:type" content="website" />
<meta property="og:url" content="https://jenkins-zh.cn/wechat/" />
<meta property="og:updated_time" content="2019-04-17T00:00:00&#43;00:00"/>
<meta property="og:updated_time" content="2019-04-19T00:00:00&#43;00:00"/>
<meta itemprop="name" content="Wechats">
<meta itemprop="description" content="">
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-19-the-business-value-of-cd/" class="link primary-color dim">持续交付的商业价值</a>
</h1>
<div class="lh-copy links">
了解整体的持续交付如何帮助你的组织以更低的风险更快地交付和更新软件
<a href="/wechat/articles/2019/04/2019-04-19-the-business-value-of-cd/" 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">
<a href="/wechat/articles/2019/04/2019-04-17-aiops/" class="link primary-color dim">AIOps:DevOps 的未来</a>
</h1>
......@@ -401,33 +428,6 @@
<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/03/2019-03-13-gsoc2019-announcement/" class="link primary-color dim">Jenkins 已经被 Google Summer Of Code 2019 接受!</a>
</h1>
<div class="lh-copy links">
19年的 Google Summer Of Code 正式起航
<a href="/wechat/articles/2019/03/2019-03-13-gsoc2019-announcement/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -164,6 +164,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/03/2019-03-13-gsoc2019-announcement/" class="link primary-color dim">Jenkins 已经被 Google Summer Of Code 2019 接受!</a>
</h1>
<div class="lh-copy links">
19年的 Google Summer Of Code 正式起航
<a href="/wechat/articles/2019/03/2019-03-13-gsoc2019-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">
<a href="/wechat/articles/2019/03/2019-03-13-ready-for-cdf/" class="link primary-color dim">为 Continuous Delivery Foundation 的成立感到兴奋</a>
</h1>
......@@ -410,33 +437,6 @@ TODO List Pick up a task from here, if you&rsquo;re interesting in contribution.
<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/images/readme/" class="link primary-color dim"></a>
</h1>
<div class="lh-copy links">
这里用来存放图片素材。
<a href="/wechat/images/readme/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -163,6 +163,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/images/readme/" class="link primary-color dim"></a>
</h1>
<div class="lh-copy links">
这里用来存放图片素材。
<a href="/wechat/images/readme/" 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">
<a href="/wechat/management/auto-reply/readme/" class="link primary-color dim"></a>
</h1>
......@@ -413,38 +440,6 @@ wechat: wechatid github: linuxsuren terms: - 2018-11-11 根据微信公众号
<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-kubecon-cn/" class="link primary-color dim">Jenkins 中文社区邀您来上海共同参与2019年的国际开源盛宴</a>
</h1>
<div class="lh-copy links">
KubeCon + CloudNativeCon | Open Source Summit | 持续交付峰会 中国2019 2019年4月10日,旧金山 - Linux基金会是一家以开源促进大众创新的非营利组织,今天公布将于2019年6月24至26日在中国上海举行的 KubeCon + CloudNativeCon + Open Source Summit 中国2019日程。
Open Source Summit 中国2019前身为 LinuxCon + ContainerCon + CloudOpen 中国(LC3),是开源社区寻求合作、共享信息、了解当今最有影响力的开源技术和议题的重要平台,包括:云原生、无服务器、微服务、物联网、人工智能、网络、Linux 等。
2019年,首次将Open Source Summit中国和KubeCon + CloudNativeCon中国整合成一项活动,只需购票一次即可参加KubeCon + CloudNativeCon + Open Source Summit中国。
本届持续交付峰会将由 CNCF 承办在大会的第 0 天举行,汇聚了各个开源 CI/CD 社区。
Jenkins 中文社区成员在大会上将进行分享 Jenkins 中文社区成员夏润泽(北京优帆科技有限公司)将在大会上作为演讲嘉宾为大家带来主题为 Jenkins X 在 kubernetes 之上运行的无服务器 Jenkins 的分享。
Jenkins 中文社区邀您参与社区共同成长 在开源盛会开展的同时,我们希望能够与更多的小伙伴们一同在线上完善开源社区氛围、线下深度互动,努力构建一个有内容、有态度的优质技术社区。
<a href="/wechat/articles/2019/04/2019-04-15-kubecon-cn/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -163,6 +163,38 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2019/04/2019-04-15-kubecon-cn/" class="link primary-color dim">Jenkins 中文社区邀您来上海共同参与2019年的国际开源盛宴</a>
</h1>
<div class="lh-copy links">
KubeCon + CloudNativeCon | Open Source Summit | 持续交付峰会 中国2019 2019年4月10日,旧金山 - Linux基金会是一家以开源促进大众创新的非营利组织,今天公布将于2019年6月24至26日在中国上海举行的 KubeCon + CloudNativeCon + Open Source Summit 中国2019日程。
Open Source Summit 中国2019前身为 LinuxCon + ContainerCon + CloudOpen 中国(LC3),是开源社区寻求合作、共享信息、了解当今最有影响力的开源技术和议题的重要平台,包括:云原生、无服务器、微服务、物联网、人工智能、网络、Linux 等。
2019年,首次将Open Source Summit中国和KubeCon + CloudNativeCon中国整合成一项活动,只需购票一次即可参加KubeCon + CloudNativeCon + Open Source Summit中国。
本届持续交付峰会将由 CNCF 承办在大会的第 0 天举行,汇聚了各个开源 CI/CD 社区。
Jenkins 中文社区成员在大会上将进行分享 Jenkins 中文社区成员夏润泽(北京优帆科技有限公司)将在大会上作为演讲嘉宾为大家带来主题为 Jenkins X 在 kubernetes 之上运行的无服务器 Jenkins 的分享。
Jenkins 中文社区邀您参与社区共同成长 在开源盛会开展的同时,我们希望能够与更多的小伙伴们一同在线上完善开源社区氛围、线下深度互动,努力构建一个有内容、有态度的优质技术社区。
<a href="/wechat/articles/2019/04/2019-04-15-kubecon-cn/" 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">
<a href="/wechat/articles/2019/01/2019-01-16-localization-zh-cn-plugin/" class="link primary-color dim">Jenkins 中文语言包</a>
</h1>
......@@ -400,33 +432,6 @@
<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/2018/11/2018-11-21-validate-jenkinsfile/" class="link primary-color dim">在 VS Code 中校验 Jenkinsfile</a>
</h1>
<div class="lh-copy links">
VS Code 中的 Jenkinsfile 插件
<a href="/wechat/articles/2018/11/2018-11-21-validate-jenkinsfile/" class="f6 mt2 db link primary-color dim">
查看更多 &raquo;
</a>
</div>
</div>
</div>
</section>
</div>
......
......@@ -163,6 +163,33 @@
<div class="bg-white mb2 pa3 pa4-l gray">
<h1 class="near-black f3">
<a href="/wechat/articles/2018/11/2018-11-21-validate-jenkinsfile/" class="link primary-color dim">在 VS Code 中校验 Jenkinsfile</a>
</h1>
<div class="lh-copy links">
VS Code 中的 Jenkinsfile 插件
<a href="/wechat/articles/2018/11/2018-11-21-validate-jenkinsfile/" 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">
<a href="/wechat/articles/2019/01/2019-01-16-webhook-firewalls/" class="link primary-color dim">在安全防火墙内通过 WebHook 触发构建</a>
</h1>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册