Community on Jenkins 中文社区 https://jenkins-zh.github.io/tags/community/ Recent content in Community on Jenkins 中文社区 Hugo -- gohugo.io zh-CN Sun, 15 Sep 2019 00:00:00 +0000 Jenkins World 贡献者峰会及专家答疑展位 https://jenkins-zh.github.io/wechat/articles/2019/09/2019-09-16-jenkins-world-contributor-summit-and-ask-the-experts-booth/ Sun, 15 Sep 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/09/2019-09-16-jenkins-world-contributor-summit-and-ask-the-experts-booth/ Jenkins 15周岁啦!Jenkins World 将 DevOps 思想领袖、IT 主管、持续交付实践者以及 Jenkins 社区和生态系统齐聚这场全球活动,让与会者有机会学习、探索以及面对面交流,帮助塑造 Jenkins 的下一次发展以及针对 DevOps 的解决方案。 此外,Jenkins 贡献者峰会也于旧金山举行。Jenkins 贡献者峰会是现有贡献者以及未来贡献者围绕 Jenkins 项目,以最新思考和最大努力来共同探讨、学习和协作的地方。上午峰会安排是由核心贡献者进行一系列展示介绍。这些介绍突出了每项工作的内容,以及社区成员可以提供哪些帮助。下午分组讨论会上,与同好小组进行了深入讨论,并同子项目贡献者进行合作。 我非常荣幸能成为其中一员。 第一天 第一天以贡献者峰会开场。这让大家有机会聚在一起讨论对社区的贡献,把脑海中熟悉的名字和本人对上号。大多数人我只通过视频聊天和在 gitter 上见过,所以当时我特别激动。我们聚在一起了解 Jenkins 开源画卷的起点。 接下来是同好讨论/非正式会议。我主导这些讨论会,个人认为进展十分顺利。成员组织管理员 Martin d’Anjou 和 Jeff Pearce 为我们带来一场有关 Google 编程夏令营(Google Summer of Code,以下简称 GSoC)项目的演讲。 GSoC 学生 Natasha Stopa 介绍了她的项目——Plugin Installation Manager Library/CLI Tool。这是一个超酷的项目,在社区受到广泛欢迎。 讨论会结尾是博思艾伦咨询公司(Booz Allen Hamilton)的 Steven Terrana 的展示和精彩的 Jenkins 模板引擎。如果你还没有试过这个,请一定不要错过https://github.com/boozallen/jenkins-templating-engine。 主展厅 从第二天起,我和其他几位 Jenkins 组织管理者将在 Jenkins 社区的专家答疑(Ask the Expert)展位。 这真的是一场非常有意思的体验,让我有机会了解社区正在做什么,帮助他们解决面对的问题。问题涉及的范围很广,从 Jenkins X 到我负责维护的种种插件,如 Jenkins Prometheus 和 Sysdig Secure Scanning 插件。也有很多关于 Kubernetes 的问题。有很多关于 Kubernetes 使用情况提高的市场营销方面的数据,但对 Kubernetes 上 Jenkins 的超高兴趣度真的让我大吃一惊。当然,也有机会拍点儿自拍。 让我们庆祝 Jenkins 对 Java 11的支持 https://jenkins-zh.github.io/wechat/articles/2019/07/2019-07-15-let-s-celebrate-java-11-support/ Mon, 15 Jul 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/07/2019-07-15-let-s-celebrate-java-11-support/ NOTE:这是由 Java 11支持团队准备的联合博客文章:Adrien Lecharpentier、Ashton Treadway、Baptiste Mathus、Jenn Briden、Kevin Earls、MaríaIsabelVilacides、Mark Waite、RamónLeón 和 Oleg Nenashev。 我们为此努力工作,现在就在这里。我们非常激动地宣布,从 Jenkins 2.164(2019年2月10日发布)和 LTS 2.164.1(ETA:3月14日)开始,在 Jenkins 中全面支持 Java 11。这意味着您现在可以使用 Java 11 JVM 运行 Jenkins master 和代理程序。 从2018年6月开始,组织了许多活动来改进 Jenkins 代码库并添加 Java 11支持。除了这些事件之外,Core/Plugins 维护者和许多其他贡献者都在努力工作,确保他们发现并解决与 Java 11支持相关的尽可能多的问题。 支持 Java 11的努力导致在 Jenkins 中创建了 JEP-211: Java 10+ support in Jenkins。它还促使平台特别兴趣小组的成立,以协调 Java 11工作和其他平台支持工作。 庆祝活动 我们想花点时间感谢参与这些任务的每个人:代码贡献者、问题记者、测试人员、活动策划者和与会者以及社区中所有慷慨地为这项工作提供时间和支持的人。谢谢你们! 以下是一些帮助完成此任务的贡献者(按字母顺序排列): Alex Earl, Alyssa Tong, Ashton Treadway, Baptiste Mathus, Carlos Sanchez, Daniel Beck, David Aldrich, Denis Digtyar, Devin Nusbaum, Emeric Vernat, Evaristo Gutierrez, Gavin Mogan, Gianpaolo Macario, Isabel Vilacides, James Howe, Jeff Pearce, Jeff Thompson, Jenn Briden, Jesse Glick, Jonah Graham, Kevin Earls, Ksenia Nenasheva, Kohsuke Kawaguchi, Liam Newman, Mandy Chung, Mark Waite, Nicolas De Loof, Oleg Nenashev, Oliver Gondža, Olivier Lamy, Olivier Vernin, Parker Ennis, Paul Sandoz, Ramón León, Sam Van Oort, Tobias Getrost, Tracy Miranda, Ulli Hafner, Vincent Latombe, Wadeck Follonier Jenkins 文档特别兴趣小组 https://jenkins-zh.github.io/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/ Mon, 27 May 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/05/2019-05-27-docs-sig-announcement/ 我们很高兴地宣布 Jenkins 文档特别兴趣小组的成立。 文档特别兴趣小组鼓励贡献者和外部社区创建和 review Jenkins 文档。 更多详情和计划,请参见:文档特别兴趣小组简介。 我能帮什么忙呢? Jenkins 文档特别兴趣小组希望从以下方面得到您的帮助: review 及修复 打开的 bug 报告 review Jenkins 文档 pull requests review Jenkins X 文档 pull requests 我该如何修复文档 bug? 关于如何为 Jenkins 文档做贡献的说明,请参见站点仓库中的 CONTRIBUTING 文件。 按照说明文件,提交 pull requests 以供 review 。 关于如何为 Jenkins X 文档做贡献的说明,请参见站点仓库中的 Jenkins X 文档站点。 按照说明文件,提交 pull requests 以供 review 。 我该如何评估 pull request? Jenkins 项目的 pull requests 会在 Jenkins 文档仓库进行 review 。 使用您的凭据登录到 GitHub,向 pull requests 中添加评论。 介绍:成为一名 Jenkins 贡献者的旅程 https://jenkins-zh.github.io/wechat/articles/2019/04/2019-04-08-becoming-contributor-intro/ Mon, 08 Apr 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/04/2019-04-08-becoming-contributor-intro/ 作为一名软件工程师,这些年来在我工作过的不同公司里用到过许多开源软件(包括框架、库、工具等)。 然而,在此之前我从没有以一名贡献者的身份参与过开源项目。 自从我向 Jenkins 提交第一个简单又滑稽的 commit 已经过去六个月(2018 年 9 月)了, 我也尝试过作出更多贡献。然而总的来说,向开源项目贡献代码是具有挑战的, 特别是像 Jenkins 这样有着很长生命周期的项目,项目中不乏遗留代码和系统知识。 它通常难以入手,也很难想到一个计划来持续贡献使你的付出从长远看来是有意义的。 对于 Jenkins 社区来说,我在尝试加入社区时所遇到的困难是其它人也有可能会面临的, 因此我决定分享我成为 Jenkins 活跃贡献者的心路历程。 我计划大概每月发布一篇博文来描述我的这段旅程,我将从简单容易入手的项目开始, 随着时间推移再介绍更加复杂的项目。 从哪开始 jenkins.io 要成为 Jenkins 的贡献者,首先会看到的就是 jenkins.io, 在顶部导航中”社区”下拉列表里第一个”参与”的链接就能将我们带到”参与和贡献”这个页面。 在这个页面中列举了我们能够参与 Jenkins 项目和社区的许多方式。尽管它展示了所有可能的选项供读者选择,但一下子看上去令人有些无所适从。 这个页面被分成了左右两个部分,左边提供了参与社区的方法,右边是向社区贡献的方法。 参与社区的建议 在“参与和贡献”页面的左侧是有关参与社区的建议,其中包括结交他人、审阅修改或者提供反馈信息。 这里面最让我困惑的是沟通渠道,里面列出的沟通渠道有 几个邮件列表 还有 IRC 和 Gitter 频道。 当我第一次尝试参与时,我订阅了许多邮件列表和几个 IRC 和 Gitter 频道,但我很快发现里面有重要的讨论正在进行, 并且活跃的讨论中多数是关于特定的用户或开发者的问题。因此,我不建议你一开始在这上面花太多时间, 除非你是要为其他用户提供帮助(当你是经验丰富的 Jenkins 用户时可能会有这种情况)或者你已经有一个明确的问题需要提问。 看一看社区成员如何互相帮助是好事,但是对新人来说它的信息量过于庞大。如果你的兴趣在于向 Jenkins 项目作贡献(不管是翻译、文档还是代码), 这些对话不会对你有太大的帮助。 向社区贡献的建议 在“参与和贡献”页面的右侧有一些关于如何贡献的建议,主要分为:编写代码,翻译,文档和测试。 在之后的博客中,我将介绍所有的这些贡献类型,以及如何参与的建议包括如何审阅 Pull Requests(PRs)或提供反馈 (反馈问题或者复现其它用户反映过的问题,提供额外信息来帮助维护者复现和修复它们。) 开源之旅的第一次贡献 当看到「参与和贡献」页面时,我发现我可以帮助改进这个页面的一些内容。本来我打算选择其中一个作为这篇文章的第一个例子,但当我阅读贡献指南时, 我发现了一个更简单的贡献。我认为它可以更好的说明开始贡献社区是多么的简单,于是我决定就用它来当例子。 网站代码仓库 在「文档」菜单中有一个链接 jenkins.io 的贡献指南, 这个 CONTRIBUTING 文件是大多数开源项目代码仓库的根目录中都会有的常见文件。 Jenkins 正在加入持续交付基金会 https://jenkins-zh.github.io/wechat/articles/2019/03/2019-03-20-cdf-launch/ Wed, 20 Mar 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/03/2019-03-20-cdf-launch/ 今天Linux 基金会与 CloudBees、Google 和一些其他公司启动了一个新的开源软件基金会,也就是持续交付基金会(CDF). CDF 相信持续交付的力量,它旨在培养与支持开源生态,以及厂商中立的项目。 Jenkins 的贡献者们已经决定,我们的项目应该加入这个新的基金会。 实际上,这样的讨论持续了多年,大致的动机简洁摘要在这里。 此时,作为一名用户,又意味着什么呢? 首先,不会有大的中断。还是同样的人,URL 地址不会变,也会有正常的发布。决策方式也会延续,pull request 也不会发生变化。改变会逐步的进行。 这是 Jenkins 项目在这个领域的成熟和重要性的又一证明。在全球有25万个 Jenkins 在运行着,这着实从 IoT 到游戏、从云原生应用到机器学习项目撼动着整个软件研发的世界。对于任何寻求开放异构 DevOps 策略的人来说, Jenkins 是一个显然、安全的选择。 CDF 创建了一个公平竞争的环境,这被组织中的贡献者所熟知,同时也会带来更多的贡献者,让 Jenkins 发展的更好、更快。在过去的几年里, Jenkins 项目正在稳步地增长,更多的结构使之变得清晰起来,CDF 是这一轨迹中的最新一步。 任何认真的研发团队都会把多种工具和服务结合起来,以覆盖整个软件研发领域。这些团队为了把这些工具集成起来投入了大量的工作。 Jenkins 将会在 CDF 旗下与其他项目紧密合作,使得这些软件之间减少重复。 我们的用户作为从业者尝试在他们的组织中改善软件研发流程。他们认为 CI/CD 和自动化可以释放组织所需要的生产力,但对他们的组织而言,并不总是那么显著。因此,我们的用户往往无法得到必要的支持。CDF 将会倡导持续交付的实践,因为这并不是来自某个厂商或项目,它将会联系可以提供帮助的人。 因此,我希望你能明白为什么我们会对此感到如此兴奋! 实际上,对我们来说,已经为这个想法努力了将近两年。毫不夸张地说,整个 CDF 的想法 源自 Jenkins 项目。 为此,已经有很多人在幕后做了大量的工作。但有些人扮演了举足轻重的角色,我须亲自感谢他们。为 Chris Aniszczyk 的耐心、坚持,R. Tyler Croy 酝酿并推动着这个想法,Tracy Miranda 将这些想法变成事实。 Jenkins 已经被 Google Summer Of Code 2019 接受! https://jenkins-zh.github.io/wechat/articles/2019/03/2019-03-13-gsoc2019-announcement/ Wed, 13 Mar 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/03/2019-03-13-gsoc2019-announcement/ 作为 Jenkins GSoC 管理员团队的代表,我很高兴地宣布 Jenkins 在2019年的 Google Summer of Code上 已经被接受。 今年,我们邀请了学生和导师加入 Jenkins 社区,并一起努力增强 Jenkins 生态圈。 这里提供一些数字,这是有史以来最大的一次 GSoC,今年共有206个组织参与。并且,希望对 Jenkins 而言也是最大的一年。 我们有25个项目想法,而且有超过30个准导师(不断增多!)。 这已经超过了2016年以及2018年的总和。 有很多的插件,特别兴趣小组以及子项目已经加入了今年的 GSoC.而且,我们已经收到了十几个学生的消息以及第一次贡献,耶! 下一步? GSoC 已经正式启动,请期待更多的学生在我们的Gitter 频道和邮件列表中联系项目。 在特别兴趣小组和子项目频道中已经有了很多沟通。 我们会努力帮助学生找到他们感兴趣的项目,在这个领域探索,并帮助他们在4月9日的截止日前准备好他们的项目提议。 然后,我们将会继续这个申请,选择项目并分配导师团队。 所有关于 Jenkins GSoC 的信息都可以在子项目页面上找到。 我是一个学生。如何申请? 在/projects/gsoc/students[学生的信息]页面中有完整的申请指导。 我们鼓励感兴趣的学生尽早联系 Jenkins 社区并开始探索项目。所有的项目在对应的页面上都有聊天室与邮件列表。 我们也会为学生组织工作日的会议,在这些会议上你可以见到管理员和导师,并向他们提问。 另外,加入我们的Gitter 频道和邮件列表,以便收到项目中即将到来的事情。 3月25日开放申请,但你现在就可以准备了!利用这段申请前的时间来讨论并改进你的项目提议。 我们也建议你着手熟悉 Jenkins 并开始探索你的提议的领域。项目的想法包括快速开始的指导,以及有助于初期研究时对新手友好的问题。 如果没有看到任何感兴趣的,你可以提出你自己的项目想法或者 查看由其他参与 GSoC 的组织提出的想法。 我想要成为一名导师。会不会太晚了? 不晚!我们正在寻找更多的项目想法,以及 Jenkins 的贡献者或用户中对 Jenkins 富有热情并想要指导学生的人。 无须底层经验,导师可以和学生一起研究项目并给出技术指导。 我们尤其对 Java 技术栈方向感兴趣,以及一些新的技术和领域(例如:Kubernetes, IoT, Python, Go 或者其他的)。 你可以提议一个新项目或者加入已有的。查看博客寻找导师以及导师的信息中的细节。 如果你想要提议一个新项目,那么请在3月11日之前完成,以便学生有时间探索并准备他们的提议。 今年,导师并不必须要有 Jenkins 开发上的很强的专业知识。目标是指导学生参与到 Jenkins 社区。 如果需要特殊的专业知识,GSoC 组织管理员会帮助寻找顾问。 Java 11 预览支持已在 Jenkins 2.155+ 中可用 https://jenkins-zh.github.io/wechat/articles/2019/02/2019-02-20-java11-preview-availability/ Wed, 20 Feb 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/02/2019-02-20-java11-preview-availability/ NOTE: 这是由 Java 11 支持团队 联合撰写的博客。 在 12 月 18 号(UTC时间下午4点)我们也会在 Jenkins 在线 Meetup 展示对 Java 11 的预览支持。(链接) Jenkins 作为领先的开源自动化服务器之一,目前仍然只支持到 Java 8。在 9 月 25 日 OpenJDK 11 发布了。这是一个长期支持版本,并将持续多年,我们想要在 Jenkins 项目中对这个版本进行全面的支持。在过去的一年中,许多贡献者一直致力于在项目中支持 Java 11(Jenkins JEP-211)。这是一条艰辛的道路,但是现在,代表 Jenkins Platform SIG,我们很高兴的宣布在 Jenkins 每周发布提供 Java 11 预览! 为什么我们需要 Java 11 的预览? 这是因为它可以提供给 Jenkins 贡献者和早期使用者一个在明年年初(译者注:此文发布于 2018 年)GA 发布之前尝试这些变化的途径。它也可以帮助我们进行更多的探索性测试,并且有希望在 Jenkins 正式地提供 Java 11 支持之前,解决大部分的问题。 在这篇文章中,我们将会介绍如何在 Java 11 环境下运行 Jenkins,还有如何调查兼容性问题并报告它们。 背景 你可能还记得,在 2018 年 6 月我们举办了一个针对 Java 10+ 支持的在线黑客马拉松。作为黑客马拉松的一部分,我们提供了 Java 11 的实验性支持。这次活动对我们来说非常成功。我们可以在 Java 10 和 Java 11-ea 环境下运行 Jenkins 以及一些主要的功能 —— 包括流水线、JobDSL、Docker/Kubernetes plugin、Configuration as Code、BlueOcean 等。它让我们相信我们可以在 Jenkins 中提供Java 11支持而不会发生破坏性变化。在这场马拉松之后 Oleg Nenashev 创建了 “Java 10+ support in Jenkins”(之后修改为只针对支持 Java 11)。Jenkins Platform SIG 也已成立,以协调 Java 11 的支持工作和其他平台的支持工作(打包,操作系统支持等)。 Jenkins 对审计日志的支持 https://jenkins-zh.github.io/wechat/articles/2019/02/2019-02-13-outreachy-audit-log-plugin/ Wed, 13 Feb 2019 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/02/2019-02-13-outreachy-audit-log-plugin/ 今年是 Jenkins 项目首次参与 Outreachy. Outreachy 是一个类似于 Google Summer of Code (GSoC) 的项目, 实习生有偿地为开源项目工作。 关键的不同之处在于,Outreachy 面向那些在他们国家的技术行业中受到歧视或偏见的小众群体。 当我了解到这个项目后,由于它的包容性与社区建设与我的理念相符就立即自愿作为导师来参与。 我很高兴地说,Jenkins 项目和我的雇主 CloudBees 对此非常支持。 基于我们之前在 GSoC 上指导学生的付出,今年我们已经加入 Outreachy 并指导了两个实习生。 在 Outreachy 的这次活动中,我们的实习生 David Olorundare 和 LathaGunasekar 将与我一起研发 Jenkins 对审计日志的支持。 我很高兴欢迎 David 和 Latha, 并期待他们能在软件工程专业和对开源社区的贡献上都有所收获。 请继续关注后续博客对他们的介绍。 该审计日志支持项目在 Jenkins 和 Apache Log4j 之间形成了一个新的链接,这给予我们的实习生学习 更多有关开源治理和认识新朋友的机会。 作为奖金,该项目旨在为支持高级的业务检测提供便利,例如:在认证事件中检测潜在的入侵尝试。 我们也会编写一个 JEP 来描述由插件提供的审计日志 API,以及其他插件如何定义并记录除 Jenkins 核心以外插件的审计事件。 我期待我们将会一起完成了不起的作品,而且我希望在将来能够帮助更多的 Outreachy 实习生! 成为一名 Jenkins 贡献者:对新手友好的工单 https://jenkins-zh.github.io/wechat/articles/2019/06/2019-06-24-becoming-contributor-newbie-tickets/ Mon, 01 Jan 0001 00:00:00 +0000 https://jenkins-zh.github.io/wechat/articles/2019/06/2019-06-24-becoming-contributor-newbie-tickets/ 两个月前,我发表了一篇介绍性文章, 成为一名 Jenkins 贡献者的旅程。在那篇第一次发表的文章 review 过后,学习到了我们可以参与和贡献的多种途径。 因此,在这个站点仓库中有对首次、基础的贡献的描述。 现在,我们将会在这篇文章中探索更多高级的贡献,向 Jenkins 核心中提交代码。 从工单和过程开始 新手贡献指导以及 Jenkins Jira 查看位于 jenins.io 上的开发者章节可能是最好的起点, 参考链接也很方便。同时,向 Jenkins 贡献的新手指导也很有用,因为它指出了不同的仓库、工具(例如问题跟踪系统)以及治理文档。 此外,它还描述了提交消息、代码风格约定、PR 指导等的最佳实践。 一旦我们对之前描述的有了一般性的了解,并想要真正地开始编码,我们可能会对该做些什么感到困惑。 似乎浏览Jenkins 问题跟踪系统是顺其自然 的下一步,因为那里充满了已经由社区报告了的潜在的缺陷和待改进的部分。然而,你很容易被无数的可能性列表所淹没。 请记住一点,对于一个像这样有十年历史之久的项目,很多是为新手准备的。因此,通过newbie-friendly tickets来过滤可能是最好的主意。 选择一个工单 在我案例中,我花了一些时间来浏览带 newbie-friendly 标签的工单,直到发现了一个我似乎感兴趣并看起来有能力修复的: 过程 在这个阶段,当我们准备接手这个工单时,最好让社区中的其他人知道我们正在开始解决它。我们可以很容易做到这一点, 只要把工单分配给我们自己即可(查看工单概览下的 “_Assign_” 按钮)。 在 Jenkins 的 Jira 中把工单分配给我们自己的话,可以让其他的贡献者知道我们正在处理;另外,为了保证其他人有兴趣对此一起做贡献时,可以知道 该去联系谁或者如何询问状态。也就是说,把工单分配给你自己,并不意味着其他贡献者就无法继续推进。Jenkins 是一个开源项目,欢迎任何人创建他们自己 的 PR,因此,任何人都可以在工单中提出自己的方案。但是,你也能想到,如果工单分配给某个人的话,大多数人在开始工作前也可能会去联系承接人。 与之相关的是,请牢记当我们把工单分配给自己时,不应该在这个工作上拖延太久。其他的贡献者,可能会由于工单已被分配而忽略。 当我们马上就要开始工作时,推荐的做法是先点击”Start Progress“按钮。这个动作,会把状态修改为“_In progress_”,对社区而言, 意味着我们正在处理这个工单。 在我们的电脑设置必要的工具 配置,安装和测试 正如在该旅程的第一篇文章中描述的,开始为某个仓库做贡献的第一步 是首先派生到我们自己的 GitHub 账号下,然后,克隆到你的电脑上。 正如,在 Jenkins Core 仓库中的CONTRIBUTING 文件里 所描述的,让仓库在本地运行的必要步骤。它包括,安装必要的开发工具:Java Development Kit (https://adoptopenjdk.net/[OpenJDK] 为推荐的选择),Maven 以及任意支持 Maven 项目的 IDE。注意,安装 JDK 和 Maven 的步骤在贡献指南中有链接。