谷歌编程之夏不仅是一个暑期实习项目,而且对于组织和一些社区的成员来说,这是他们全年辛勤工作的结果。现在,在里斯本举行的Devops World | Jenkins世界大会和最终评审会议之后,我们宣布2019年全球供应链管理大会正式闭幕首先,我们感谢所有参与者:学生、教师、主题专家和其他贡献者,他们提出了项目想法,参与了学生选择、社区联系以及一些后来的讨论和评论。谷歌编程之夏是一个大规模的活动,没有詹金斯社区的积极参与是不可能发生的。
在这个博客中,我们想与您分享这次活动的结果以及我们今年总结的一些经验。
结果今年成功完成了5个GSoC主题:角色策略插件性能优化、插件安装管理命令行工具/库、工作时间插件用户界面优化、具有库伯内特功能的阿帕奇卡夫卡远程处理、GitLab SCM多分支管道支持我们将在以下内容中讨论上述主题。
项目详细信息我们在8月底举行了最后一次詹金斯在线会议,谷歌在9月3日发布了这些结果这些最后的发言可以在这里找到:第一部分,第二部分和第三部分我们还在德文郡世界|詹金斯世界旧金山和德文郡世界|詹金斯世界2019里斯本会议上发布了2019年詹金斯全球战略展望报告。
在接下来的章节中,我们将简要总结每个项目,链接到第三阶段的编码演示和最终产品。
角色策略插件性能优化角色策略插件是Jenkins中使用最广泛的身份验证插件之一,但由于其架构问题和对项目角色的正则表达式检查,它的性能并不出名阿布胡达亚·夏尔马和他的几个导师一起参与了这个项目:奥列格·内纳舍夫、夏润泽、苏朋·万尼亚拉契。他为Jenkins插件创建了一个基于JMH的微基准框架,创建了微基准测试,然后在一些真实场景中实现了3501%的改进然后,他继续进一步研究并创建了一个基于目录的身份验证策略插件,当权限范围是目录时,它为Jenkins实例提供了更好的性能。在他的项目中,Abhyudaya还修复了Jenkins组策略的配置,即代码支持,并为JCasC插件贡献了一些优化和固定的代码
项目发布的博客第
页:Jenkins微基准测试框架,引入新的目录认证插件,角色策略插件性能优化
最终评估:幻灯片放映,视频
源代码:角色策略插件。目录认证插件
插件安装管理命令行界面工具/库娜塔莎·斯托帕正在研究一种新的插件管理命令行界面工具,它可以统一其他工具,如安装插件镜像它还引入了许多新功能,例如对YAML配置的格式支持、列出可用的升级和安全修复。这个新开发的工具最终可以取代刚才提到的那个。娜塔莎的导师:克里斯汀·惠特斯通、乔恩·布罗豪格、阿纳·班纳吉以及平台SIG和JCasC插件团队的许多贡献者作为利益相关者和项目专家参与了该项目。在项目第
页上发布的博客:alpha发布,第二阶段代码更新
最终评估:幻灯片,视频
源代码:插件管理工具
工作时间插件用户界面优化詹金斯用户界面和前端框架已成为詹金斯项目中的一个常见话题,尤其是在新的UX SIG最近几个月发布之后沈杰克和他的导师杰夫·皮尔斯正在探索一种新的方法来统一詹金斯的网络用户界面杰克更新了运行时插件使用的用户界面控件,由标准的反应库提供然后,他记录了自己的工作经历,并创建了一个博客,使用基于反应用户界面的插件模板
项目页面
:工作时间的用户界面更新,反应插件模板
最终评估:幻灯片,视频
源代码:工作时间插件。詹金斯插件模板的基础上反应用户界面
阿帕奇卡夫卡远程与库伯特斯功能龙勒武阮是扩展库伯特斯支持阿帕奇卡夫卡远程插件他的导师安德烈·法尔科(Andrey Falco)和范武俊(Pham vu Tuan)是我们的GSoC 2018学生和插件发明者。在这个项目的过程中,龙增加了一个新的代理发起者,它在库伯内特中指定了詹金斯节点,将它们连接到主节点。他还创建了一个云应用编程接口和一个新的头盔图。该图表可以将詹金斯作为一个完整的系统在库本内特斯使用,并且默认情况下启用了阿帕奇卡夫卡。所有这些特性都发布在阿帕奇卡夫卡远程插件2.0中
项目页面
Apache Kafka远程插件2.0博客
最终评估:幻灯片、视频
插件源代码
GitLab SCM支持多分支管道
Parichay Barpanda正在开发一个新的GitLab分支源代码插件,支持多分支管道任务和基于文件夹的组织支持他的导师是马克·杰克逊·陶利亚、贾斯汀·哈林加、赵晓节和约瑟夫·彼得森。插件根据提供的条件扫描项目并导入流水线任务导入项目后,Jenkins立即基于Jenkinsfile脚本运行任务,然后向GitLab管道状态发送通知该插件还提供了GitLab服务器配置,可以在系统配置中进行配置,也可以通过Jenkins配置作为代码进行配置在GitLab分支源代码1.0中声明更多内容
项目页面
第三阶段代码演示
GitLab分支源代码插件、GitLab应用编程接口插件
未完成项目今年未完成所有项目我们还尝试了Jenkins管道工件提升插件和云特性的外部工作空间管理插件,但不幸的是,两个项目都在第一阶段编码后停止了。无论如何,我们在这些领域获得了很多经验和收获。(请参考链接的吉拉门票!我们希望詹金斯的贡献者能够实现其中的一些故事也许2020年谷歌编程之夏可以?
在组织层面运营GSoC项目以下是我们组织GSoC之前和之后的一些幕后故事,与您分享。为了给新来的学生做准备,我们已经更新了所有的GSoC页面,包括了我们近年来运行这个项目的所有知识。我们将在2018年10月开始准备,离项目开始还有很长时间。主要目标是解决在2018年全球供应链管理大会期间收到的一些反馈
项目构想我们将在2018年的最后一个月开始为这个项目收集想法。我们已经在谷歌文档中准备了一个主题想法列表,并以文档的形式跟踪每个主题的所有权。每个主题的想法都在谷歌文档中有进一步的阐述我们发现每个主题在定义阶段都非常复杂。也许它们太复杂了,不应该完成。
因为我们希望所有的项目想法都以相同的方式记录下来,所以我们创建了一个模板来指导这些贡献者。大多数项目概念文档都是由组织的管理员或导师编写的,但是偶尔会有学生提出一个很好的想法。我们还在该文档中获得了一些其他信息,如GitHub和Gitter帐户,以及该主题的潜在导师列表。我们把所有的主题文件放在我们的网站上。
导师和学生指导我们更新了导师信息页面的一些细节,包括我们希望导师在项目中做什么,包括导师工作的小时数,甚至我们中的一些人专门写了关于避免利益冲突的内容。招募导师后,我们引导他们访问导师信息页面。
我们还更新了学生信息页面当每个学生都问我们同样的关于注册和参与项目的问题时,我们发现这个页面为我们节省了很多时间。我们只是给他们发送这些页面的链接,而不是每次都解释这个项目。
应用阶段在GSoC正式启动前几周,学生们已经开始接触该项目。这真令人兴奋一些学生甚至在项目正式开始前就开始构思项目。
主题选择今年,组织和管理团队做出了一些非常困难的决定。面对大量的学生、老师和科目,我们必须有正确的数字,并努力匹配最有可能成功的科目。我们试图通知导师团队,同时我们也在寻找话题的数量。很难在截止日期前得到所有导师的回复。最后,我们寻找的主题数量少于我们可以添加的数量。当我们寻找一个主题时,我们提交了两个数字:最小值和最大值。GSoC的指导方针如下:
的最小值是基于一些优秀主题的数量,他们渴望看到这些项目在一个夏天获得成功。
的最大值是他们希望今年夏天能够指导的可靠和优秀项目的数量。
我们选择了最少的主题所以我们必须做出非常困难的决定:我们必须在“伟大”和“值得信赖”的原则之间做出选择原则上,很好的一个很容易选择,但对其他人来说很难。我们知道我们无法达到真正的完美。根据以往的经验,我们也知道有些学生或老师会因为一些无法控制的生活琐事而无法完成整个项目,即使是一些很好的提案。因此,我们必须做出最好的决定,知道我们选择的一些项目可能不会完成。
社区联系人我们发现社区联系阶段对每个主题的成功至关重要。在社区接触中有困难的话题通常做得不好。为了让学生更好地融入社区,几乎所有的话题都在特殊兴趣小组的指导下进行,以便与更多相关的人交流。
通信每年,我们都让学生通过个人社交工具与老师交流。同学们,如果你正在阅读这篇文章,请不要通过个人社交工具给我们发送关于这个话题的内容。你不会得到任何额外的照顾。显然,开源的目标是我们希望所有的讨论都是开放的,所以学生需要时刻记住这一点。在2019年,我们使用Gitter来处理最多的聊天信息,但是从管理员的角度来看,与电子邮件通信相比,这有点支离破碎。搜索信息也很困难聊天室毕竟非常方便,信息集中,但是从管理员的角度来看,如果没有主题功能,很难从Gitter获得摘要信息。吉特最近增加了一个主题功能(2019年11月),但它在安卓和iOS上不可用。在项目结束时,我们使用了缩放,我们发现使用它比使用谷歌的闲逛更容易。
状态跟踪另一件麻烦的事情是一旦开始就要对每个项目进行概述。我们扩展了谷歌表单的使用,在项目期间跟踪表单中的主题和参与者,对主题进行排名,并跟踪主题每个阶段的状态(社区联系、编码等)。))让这些表格保持最新是一项具有挑战性的任务。每个主题包括几个参与者和几个链接。在这个问题上花费的时间让我们发现,在编码阶段开始之前,保持这些表是最新的、准确的和完整的有点困难。
也许一些状态跟踪工具能有所帮助我们使用詹金斯·吉拉来追踪这些主题,每个阶段代表一个独立的短跑比赛。这对一个成功的项目是一个很大的帮助。在我们的组织中,我们试图让每个人在截止日期前几天完成工作,因为我们知道会有一些意想不到的因素,如停电、恶劣的天气(甚至在西雅图!),或其他无法控制的情况,这或多或少会影响主题数据的提交。我们还认为,如果最后期限随着周末“崩溃”,人们会忘记这些事情,这也是危机。
审核在项目结束时,我们还将进行一次回顾,以获得一些对未来的新想法。你可以在这里找到这些笔记。我们已经处理了文件中一些最重要的意见和明年项目的想法。
奖励去年,我们想通过发送纪念品来感谢参与该项目的每个人。今年,我们收集了所有能找到的邮寄地址,并准备向每个人发送詹金斯15周年纪念t恤和一些贴纸。这是一个伟大的时刻我也想亲自感谢艾丽莎·汤在设计我们的t恤和贴纸方面的一些帮助。
导师峰会每年,谷歌都会邀请每个组织的两位或更多导师参加谷歌编程夏季导师峰会在这次活动中,数百名开源项目维护者和导师聚集在一起,就GSoC、社区管理和各种工具举行非正式会议。今年的峰会在慕尼黑举行,马基·杰克逊和奥列格·内纳舍夫作为代表参加了会议。除了讨论话题和分享巧克力,我们还带詹金斯去了那里,做了一个简短的演讲,并主持了一个关于GitHub机器人的非正式会议。我们不能在那里拍团队照片。因此,请在这张照片中找到奥列格和马基:
德文世界|詹金斯世界的GSoC团队一般来说,我们使用GSoC组织基金和旅行基金来赞助学生的旅行和主要与詹金斯有关的活动今年,四名学生参加了在旧金山和里斯本举行的德文世界詹金斯世界大会。这些学生在社区展台和捐助者峰会上展示了他们的主题,他们的作品在社区中受到了极大的关注!非常感谢谷歌和云蜜蜂使这次旅行成为可能。你可以在这里找到娜塔莎·斯托帕的报告,更多的旅行报告将在稍后发送。
结论今年,成功完成了5个项目我们从其他参与组织收到的信息也表明,这是一个正常的数字。早期更新GSoC页面为我们以后的工作节省了大量时间,因为当有人联系我们时,我们不能每次都重复所有信息。我们发现跟上所有的老师、学生、学科和元信息是必要的,但很费时。我们希望有一个工具来帮助我们做这些事情。协调会议和提醒与会者在截止日期前要完成的工作也是GSoC组织工作的一部分,我们需要继续这样做。最后,我要再次感谢所有与会者。没有你,我们无法做到这一点。每年,我们都被一些学生留下深刻的印象,他们做了很棒的工作,并为詹金斯社区贡献了一些很棒的作品。
GSoC 2020?是的,2020年夏天将会有谷歌编程!我们计划参与其中,也在寻找项目创意、导师和学生。詹金斯GSoC页面已经更新,我们邀请大家明年参加。
活动主页
GSoC 2020主题概念
GSoC 2020导师招募和主题概念收集
学生和导师信息页面