在进一步讨论之前,我们假设:
你已经在必威国际有限公司accounts.必威国际有限公司jenkins.io
你注册了Jenkins Infra的邮件列表必威国际有限公司必威国际有限公司jenkins-infra@googlegroups.com
你可以使用我们的订票系统issues.必威国际有限公司jenkins.io
你已经在IRC频道说了"Hi"#必威国际有限公司 jenkins-infra
作为一个独立的开源项目,Jenkins项目维护了它自己的大部分基础设施,包括帮助保持项必威国际有限公司目运行的服务。属于“基础设施”的内容可以从操作虚拟机、容器、配置网络或开发和维护特定于项目的应用程序,从而使Jenkins核心和插件的开发更加高效。必威国际有限公司
因为我们坚信开源原则,所以我们也将它们应用到我们的基础设施中。因此,我们认为自己是一个开放的基础设施项目,每个人都被邀请去学习、分享和贡献。
必威国际有限公司Jenkins基础架构由Jenkins基础架构团队维护。这个团队由Jenkins贡献者和志愿者组成,必威国际有限公司他们根据可用性和其他承诺提供最大努力的支持。我们一直在寻找有兴趣改善Jenkins服务并帮助维护它们的贡献者。必威国际有限公司
必威国际有限公司Jenkins Infra团队在周五14:00 UTC有一个每周会议。该活动是一个定期安排的会议,用于同步Jenkins项目中正在进行的各种基础设施计划。必威国际有限公司这个会议对所有感兴趣的人开放。看到事件日历会议链接。
您可以找到Infra团队会议议程和会议记录必威国际有限公司jenkins-infra /文档.
Jenk必威国际有限公司ins项目的大部分基础设施都在Azure上运行,由持续交付的基础.此基础设施由存储库提供必威国际有限公司jenkins-infra /天蓝色使用Terraform和AKS图表.
虽然我们试图坚持使用Azure,但我们仍然有不同组织赞助的机器,比如OSUOSL、AWS、Rackspace或CloudBees。
Jenk必威国际有限公司ins项目的基础设施是通过一个名为必威国际有限公司jenkins-infra / jenkins-infra使用傀儡。我们还使用了Kubernetes集群必威国际有限公司jenkins-infra /图表使用Helm & Helmfiles。
詹金斯基础设施项目的另一个主要方面是维护我们或第三方提供必威国际有限公司的所有服务。以下是我们所提供和维护的服务的非详尽列表。
服务 | JIRA组件(年代) | 库和链接 |
---|---|---|
|
||
|
||
Infra CI - https://infra.ci.必威国际有限公司jenkins.io/ |
|
|
发布CI - https://release.ci.jenkin必威国际有限公司s.io/ |
|
|
私人文物- https://repo.private.jenkins.io/必威国际有限公司 |
||
|
||
Keycloak身份管理 |
||
LDAP |
|
|
SSL证书更新 |
||
|
||
|
||
插件站点API后端 |
|
|
|
||
服务 | JIRA组件(年代) | 库和链接 |
---|---|---|
|
||
|
||
|
||
|
old mirrors.必威国际有限公司jenkins.io Puppet脚本(搜索 |
|
|
||
代码发布与GitHub页面 |
||
|
||
VPN |
|
|
维基(弃用) |
|
我们的基础设施是一个开放的基础设施项目,由Jenkins社区创建并为其服务。必威国际有限公司换句话说,它是一个贡献者驱动的项目。虽然我们不能公开所有东西,比如秘密、证书……但我们仍然尽量做到透明,这样每个人都可以在没有特权访问的情况下理解并改进我们的基础设施。如果你有任何可以帮助基础设施或引起社区兴趣的想法,请随时提出建议。
为了对基础设施项目做出贡献,我们要求人们遵循以下步骤
选择任务=>沟通=>实施=>部署=>回顾
为了跟踪Jenkins基础设施项目中需要完成的工作,我们使用了“INFRA”项目必威国际有限公司Jira.因此,在做出任何贡献之前要做的第一件事是找到正确的票,分配给你,然后就它进行沟通。
如果您找不到合适的票据,请创建一个新的票据,并明确说明需要做什么以及为什么要做。一些jen必威国际有限公司kins-infra git库引用可以帮助理解上下文。您还可以指定组件,最后您可以使用下一节的建议进行交流。
虽然一个票据可以有不同的组件分配给它,但我们也使用标签newbie-friendly确定可以由新参与者完成的任务。
在任何实现之前,首先验证(仍然)需要某些实现,然后验证过去没有做过任何工作,这一点很重要。最好的方法是查看类似的Jira票,在IRC或邮件列表上询问。你也可以参加我们的每周会议来讨论和协调这些变化。
当主题太宽泛或难以在几行内解释时,我们就写等电位点这个文件的目的是解释我们为什么需要某些东西,我们想如何解决它,以及我们为什么作出最后决定。最后,一旦你有了车票id,你就可以开始寻找知识渊博的人了。
无论如何,记住,信息太多总比信息太少好,最终你可能会成为处理你的案子的最佳人选。
+----------------------------------+ | | | 接或创建下文票 | | | +----+----+------------------------+ | | 如果没有反应后几天| |促进 | | +------------------------------------------+ | | | | | +--------------------> IRC:利比里亚聊天# jenki必威国际有限公司ns-infra <----+ | | | | | | | +------------------------------------------+ | | | +------------------------------------------+ | | | | | | | +--------------------> 邮件:必威国际有限公司jenkins-infra@googlegroups.com <----+ | | | | | +------------------------------------------+ | | 如果这个话题太大了 | | | | +-------------------------------------------+ | | | | | +--------------------> 掌握:https://github.com/jenkins-infra/iep |--------+ | | +-------------------------------------------+
一旦对方法达成一致,在做出任何改变之前,我们要求贡献者遵守以下规则。
这些规则正是我们认为贡献者驱动的项目的“最佳实践”,可以根据特定的git存储库进行调整。
这样每个人都更容易发现/审查/审计更改并提出改进建议。
所以我们总是有不同的人来理解基础设施的变化。
Rem:我们非常欢迎非定期贡献者分享他们的专业知识,或者只是提出问题,这也有助于发现不连贯的地方。
代码评审的目的:
告诉作者和团队代码的变化
发现测试未涵盖的逻辑或安全问题
收集关于代码可读性或效率的改进建议
所以当合并PRs时,我们感觉更舒服,我们避免了回归问题。
所以我们只有一个真相来源我们不会破坏别人的工作。如果这是不可能的,那么就需要很好地沟通和记录,参照规则1。
分叉项目->创建特性分支-> Open Pull Request -> Ask Review -> Merge