基础设施

概述

作为一个独立的开源项目,Jenkins项目维护其大部分基础架构,包括服务,有助于保持项必威国际有限公司目运行。落入“基础架构”的东西可以跨越操作虚拟机,容器,配置网络或开发和维护项目特定应用程序,以使Jenkins核心和插件更高效地开发。必威国际有限公司

因为我们坚信开源原则,我们也将其应用到我们的基础设施中。因此,我们认为自己是一个开放的基础设施项目,每个人都被邀请学习、分享和贡献。

概述

团队

必威国际有限公司Jenkins基础设施由Jenkins infrastructure团队维护。这个团队由Jenkins贡献者和志愿者组成,必威国际有限公司他们根据自己的可用性和其他承诺提供最大程度的支持。我们一直在寻找有兴趣改善Jenkins服务并帮助维护它们的贡献者。必威国际有限公司

团队结构

本节正在开发中

会议

必威国际有限公司Jenkins Infra Team于14:00 UTC周五每周一次会议。此活动是定期会议,可在Jenkins项目中的各种正在进行的基础架构计划中同步。必威国际有限公司这次会议对所有感兴趣的人都开放。看看事件日历会议链接。

您可以找到Infra团队会议议程和会议票据必威国际有限公司jenkins-infra /文档

基础设施

供应

Jenk必威国际有限公司ins项目在Azure上运行其大部分基础设施,由持续交付的基础.这个基础设施是由存储库提供的必威国际有限公司Jenkins-infra / Azure使用Terraform并使用AKS图表

虽然我们试图坚持使用Azure,但我们仍然有不同组织赞助的机器,如OSUOSL、AWS、Rackspace或CloudBees。

配置管理

基础设施

Jenk必威国际有限公司ins项目的基础设施是通过一个名为git的存储库来管理和编排的必威国际有限公司jenkins-infra / jenkins-infra使用傀儡。我们还使用了Kubernetes集群必威国际有限公司jenkins-infra /图表使用Helm & Helmfiles。

监控

基础设施通过数据狗进行监控。数据狗配置是自动与Terraform必威国际有限公司jenkins-infra / datadog

我们还提供不同的仪表板来分享我们系统的健康状况。

状态页

合流

报告.

PageRduty用于报告DataDog检测到的问题,我们有一个遵循太阳策略,在我们尝试在“可用”时间期间仅在呼叫。

服务

Jenkins Infrastructure项目的另一个必威国际有限公司主要方面是维护我们或第三方提供的所有服务。下面是我们提供和维护的服务的非详尽列表。

Kubernetes中的自托管服务

服务 JIRA组件 库和链接

账户

账户AccountApp.

代码掌舵图表

聊天

IRCBOT.

代码掌舵图表

infra ci - https://infra.c必威国际有限公司i.jenkins.io/

诺布拉

释放ci - https://release.ci.jenk必威国际有限公司ins.io/

ci.必威国际有限公司jenkins.io.CI.

代码掌舵图表

私人工件 - https://repo.private.jenkins.io/必威国际有限公司

掌舵图表

Javadoc

javadoc.

代码掌舵图表

Keycloak身份管理

掌舵图表

LDAP

ldap

Docker.掌舵图表

SSL证书更新

掌舵图表

主要的网站

必威国际有限公司Jenkins.io.

代码掌舵图表

插件的网站

plugins.必威国际有限公司jenkins.io.

代码掌舵图表

插件站点API后端

plugins.必威国际有限公司jenkins.io.

代码掌舵图表

民意调查网站

掌舵图表

报告的网站

掌舵图表

上行链路

上行

代码掌舵图表

Wiki出口商.

github问题

代码掌舵图表

自托管服务

服务 JIRA组件 库和链接

档案

archives.必威国际有限公司jenkins-ci.org

木偶代码

核心和插件CI

ci.必威国际有限公司jenkins.io.CI.

用户文档部署脚本

镜子

get.必威国际有限公司jenkins.io

Mirrorbits执掌图表镜子清单镜像数据运行一个镜子

旧镜子

mirrors.必威国际有限公司jenkins.io

旧镜子。jenkins。必威国际有限公司io木偶脚本(搜索mirrorbrain.),老镜子脚本老状态页

下载

pkg.必威国际有限公司jenkins.io

木偶的脚本

统计

代码发布GitHub页面

更新中心

updates.必威国际有限公司jenkins.io

代码

VPN

vpn

代码

维基(弃用)

维基

Docker.

SaaS

服务 提供者 JIRA组件 存储库

Artifactory

JFrog

artifactory

-

GitHub.

GitHub.

GitHub.

-

监控

DATADOG.

datadog

代码

Pagerduty

Pagerduty

-

加特聊天系统

GitLab

-

内容分发网络

快速

-

DNS注册商.

NameCheap.

-

Jira

Linux基金会

Linux基金会的支持

-

子项目/团体服务

必威国际有限公司Jenkins基础设施还为子项目和特殊利益集团提供一些服务:

服务 主人子项目/团体 JIRA组件 存储库

网站在中国

中国本地化

cn.必威国际有限公司jenkins.io

代码

代码和存储库签名

释放团队

释放

DigiCert

贡献

我们的基础设施是一个开放的基础设施项目,由Jenkins社区创建并为其服务。必威国际有限公司换句话说,这是一个由贡献者驱动的项目。虽然我们不能公开所有东西,比如秘密、证书等,但我们仍然努力做到尽可能透明,以便每个人都能理解并改进我们的基础设施,而无需拥有特权访问权限。如果你有任何可以帮助基础设施或对社区感兴趣的想法,请随时提出建议。

在进一步讨论之前,我们假设:

贡献工作流程

为了对基础设施项目做出贡献,我们要求人们遵循接下来的步骤

拾取任务=>通信=>实现=>部署=>审查

拿起任务

为了跟踪Jenkins基础设施项目中需要完成的工作,我们使用了一个名为“INFRA”的JIRA项目必威国际有限公司Jira.如果您想要做出贡献,第一步是在这个项目中找到您想要处理的JIRA问题,将其分配给您,然后就其进行沟通(参见沟通).

如果您找不到合适的问题,请创建一个新的问题,并明确说明:

  • 为什么(要解决什么问题-高水平价值)?

  • 你对解决这个问题有什么建议?

  • 如何(技术变化是什么)?

您还可以指定组件,最后可以使用下一节的建议进行沟通。

良好的第一个问题

如果您想开始对Jenkins基础设施做出贡献,您可以找到需要考虑的“第一个好的问题必威国际有限公司”列表(它们都有标签)newbie-friendly)载于以下网页:newbie-friendly

沟通

在任何实施之前,重要的是验证首先,有一些实现的需要,然后没有工作过去已经完成了工作。这是最好的方式,以便在类似的JIRA门票之后,请问IRC或邮件列表。您还可以加入我们的每周会议讨论和协调变更。

当受试者太广泛或难以解释,我们写了一个IEP.代表“基础设施增强建议”的文件,本文件的目的是解释我们为什么需要一些东西,我们如何解决它,以及为什么我们参加最终决定。最后,一旦您有机票ID,您就可以开始寻找知识渊博的人。

无论如何,记住,信息太多总比太少好,最终你可能会是处理你的案子的最佳人选。

简而言之
+ -------------------------------- + |||拾取或创建Infra票|||+ ---- + ---- + ----------------------- + ||如果几天后没有回应|| promote it on | | +------------------------------------------+ | | | | | +--------------------> IRC: Libera Chat #jenkins-infra <----+ | | | | | | | +------------------------------------------+ | | | +------------------------------------------+ | | | | | | | +--------------------> Mail: jenkins-infra@googlegroups.com <----+ | | | | | +------------------------------------------+ | | If the topic is too big | | | | +-------------------------------------------+ | | | | | +--------------------> IEP: https://github.com/jenkins-infra/iep |--------+ | | +-------------------------------------------+

实施

一旦有关该方法和在任何变化之前,我们要求贡献者尊重以下规则。

这些规则只是我们认为为贡献者驱动项目的“最佳实践”,可以根据具体的Git存储库进行调整。

规则#1:一切都在Git存储库中必威国际有限公司Jenkins-infra.组织。

因此,每个人都更容易发现/审查/审核更改并提出改进建议。

规则#2:所有更改都通过拉拉请求至少一个常规的INFRA贡献者验证。

所以我们总是有不同的人了解基础设施的变化。

Rem:我们非常欢迎非定期贡献者分享他们的专业知识,或者只是提出问题,这也有助于发现不连贯的地方。

代码评审的目的:

  • 教育作者和团队关于正在进行的代码的变化

  • 发现测试未涵盖的逻辑或安全问题

  • 收集关于代码可读性或效率的改进建议

    规则#3:所有更改都已测试ci.必威国际有限公司jenkins.io.

    所以我们在合并PRs时感觉更舒服,并且避免了回归问题。

    规则4:一切都是自动化的。

    所以我们只有一个真相来源,我们不会破坏其他人的工作。如果这是不可能的,那么就需要进行良好的沟通和文档化。

    规则5:所有的改变都遵循Github工作流。
Fork Project  - >创建功能分支 - >打开拉请求 - >询问评论 - >合并

部署

部署阶段是我们唯一需要上级批准的阶段。正如前面提到的,即使我们尽可能地开放,我们也不希望与每个贡献者共享特权访问,即使我们信任他们,这主要是出于安全原因。

在查看Jenkins基础设施项目时,各种链接会很有帮助必威国际有限公司

Baidu