云本机SIG - 可插拔存储

将所有内容存储到文件系统中的当前默认方法是Jenkins不适合“云本机”模型的主要原因,其中具有HA,零停机或每次使用等功能。必威国际有限公司虽然有大量的插件来实现这一愿景的部分,但这将对用户配置和可用性噩梦进行繁琐,如此Jep-300.已经指出。朝着消耗云服务的模型,在它有意义的地方,大大减少了云或集装箱环境中操作Jenkins的整体复杂性。必威国际有限公司其他相关项目包括必威国际有限公司Jenkins X.必威国际有限公司詹金斯常青树这将极大地受益于Jenkins的云本机存储。必威国际有限公司

有几个明确的区域开放,以改进,总结了这里,将在未来的文件中详细说明。市长痛点是将本地磁盘的用途作为所有目的存储,这导致在集装箱或分布式环境上运行的问题,需要高度性能的文件系统以及所有配置疼痛,如初始尺寸和随机调整大小。我们相信,通过使用云提供服务,可以在实现新的要求功能时可以提高整体可用性,性能和可扩展性。

您可以找到有关可插拔存储和优先级的更多信息这个blogpost.。詹金斯增强建议的全部列表提必威国际有限公司供云本机SIG页面

状态摘要

您可以在下面找到正在进行的活动及其当前状态的摘要:

类型/状态 评论 实施

伪影
(可用的)

完全交付,支持直接从代理商上传伪影。相关JEPS:Jep-202.

扩展点

S3上的工件管理器Azure Artifact Manager<更多的实施>

证书
(可用的)

在介绍JEP过程之前完成。

扩展点

Kubernetes凭据提供商AWS SERETS Manager凭据提供商<更多的实施>

构建日志
(预览/暂停)

管道日志存储API和参考实现可用于预览,仅支持Jenkins管道作业类型。必威国际有限公司相关JEP:Jep-210.

必威国际有限公司Jenkins核心API和参考实施尚未合并/发布,但原型可用于评估。相关JEPS:2010年7月Jep-212.

管道日志记录:

必威国际有限公司Jenkins Core:

系统日志
(可用的)

必威国际有限公司Jenkins支持使用标准的自定义日志Appendersjava.util.logging.配置选项

syslog记录器,非詹金斯实必威国际有限公司施

任务日志
(没有开始)

存储系统日志和各种任务(例如代理连接或SCM轮询)

N / A.

配置
(暂停)

在很大程度上取代了配置为代码插件,允许在没有数据库的情况下将Jenkins配置存储在必威国际有限公司SCM或其他位置。

相关JEPS:Jep-213.

N / A.

检测结果
(预览)

API可以在预览中获得JUNIT插件1.35.。剩余的更改被跟踪为JUNIT#142.

JUNIT SQL存储

代码报道结果
(没有开始)

仅针对基于的插件计划代码覆盖API.统一存储实施。看对于其他覆盖报告类型。

N / A.

建立/运行
(没有开始)

在外部数据库中存储完整构建记录。包括存储未出现的构建数据(例如日志或测试结果)。

N / A.

工作
(没有开始)

在外部数据库中存储作业配置和工作特定元数据。像Jenkins管道和Jobdsl这样的现有必威国际有限公司插件通过在SCM中保持配置来部分地解决这种情况。

N / A.

指纹
(预览)

必威国际有限公司Jenkins 2.252+包括可以由插件消耗的外部指纹存储API。更多信息:GSOC项目页面

相关JEPS:Jep-226.

redis.PostgreSQL.

工作区
(没有开始)

拟议作为GSOC 2019项目:外部工作区管理器插件的云功能

N / A.

上面的列表未完成。可以根据反馈考虑其他存储类型。您可以找到有关可插拔存储和优先级的更多信息这个blogpost.

伪影存储

有许多现有插件允许从外部存储(例如S3,artifactory,通过SFTP等)上传和下载伪像,但没有任何插件,可以在不使用新步骤的情况下透明地进行。在许多情况下,伪像也通过Jenkins控制器上传,它会增加系统的负载。必威国际有限公司如果有一个层,这将是允许在使用常见步骤时从外部存储伪影的层归档工件

必威国际有限公司Jenkins 2.118+提供延长必威国际有限公司jenkins.util.virtualfile.允许使用外部工件管理器使用的APIArtifactManagerFactory.扩展点。

实施例(S):

相关JEPS:

构建日志存储

日志磁盘使用导致前面提到的伪像引起的相同问题。加上外部聚焦的日志存储,如AWS CloudWatch日志允许要求要求的功能作为集中日志管理,日志保留策略,高级查询等。已有的选项可以从外部将日志从外部运送到后端,或者那样这样的插件aws-cloudwatch-logs-publisher-plugin,但没有从外部日志存储的发送和显示日志没有综合的方式。跟踪外部日志存储工作作为问题:38313 []。

参考实施:

相关JEPS:

配置存储

虽然配置不大,但外部化它们是获得高度可用或一次性Jenkins控制器的关键任务。必威国际有限公司有很多方法可以在詹金斯存储配置,但95%的案件被覆盖必威国际有限公司xmlfile.将对象序列化为磁盘的图层并使用XStream库读取它们。外化这些xmlfile.S将是一个很好的前进。

例如,有几种用于外化配置的原型,例如,在Dotci。还有其他实现可以在詹金斯核心上游。必威国际有限公司

相关JEPS:

证书

凭据插件1.15+有一个credentialsprovider.扩展点允许引用和解析外部凭据。此引擎允许实现实现凭据API的插件的外部凭据..

实施例(S):

不支持Jenkins(如JenkinsDoc:Hu必威国际有限公司dson.util.secret)的其他凭据API。

检测结果

在共同的CI / CD使用情况下,测试报告正在消耗许多空间。此数据存储在内必威国际有限公司Jenkins_Home.,当前存储格式在检索统计数据时需要巨大的开销,特别是趋势。为了显示趋势,必须加载每个报告,然后在内存中处理。

外化测试结果的主要目的是通过查询来自专门的外部存储器的所需数据来优化Jenkins逻辑。必威国际有限公司从基于文档的数据库,如Elasticsearch。根据目前的计划,JUNIT插件将扩展以支持其API中的此类外部存储被测试报告插件广泛使用。

地位:

请试一试,报告问题GitHub.和一般反馈github#142.

指纹

指纹存储在内必威国际有限公司Jenkins_Home.在基于XML的基于XML的数据库中。外化指纹仪会降低Jenkins对控制器物理磁盘存储的依赖性,并允许配置可能更便宜,更可靠的云存储。必威国际有限公司另一个优点是它将允许在Jenkins实例和整个CI / CD流中追踪指纹。必威国际有限公司

地位:

其他可插拔存储故事

此页面仅总结了持续工作的状态。我们认为在云本机SIG中有其他可插拔存储故事。看看SIG的页面有关更多详细信息和链接。