Jenkins X 官方介绍

简介: Jenkins X 简介Jenkins X 为云上的开发人员自动化并加速了持续集成和持续交付,因此他们可以专注于构建出色的软件。

什么是 Jenkins X?

Jenkins X 简介

Jenkins X 为云上的开发人员自动化并加速了持续集成和持续交付,因此他们可以专注于构建出色的软件。

Jenkins X 采用流行的开源项目,可自动执行设置和管理,以提供集成的云原生解决方案,团队可以使用该解决方案比传统的非云解决方案更快、更可靠地开发更好的软件。

Jenkins X 集成的开源项目:

Kubernetes 目标平台 Jenkins X 安装在 Jenkins X 上,可以选择部署和运行使用 Jenkins X 构建的应用程序

Tekton Cloud Native 流水线编排

Kuberhealthy 定期对系统进行运行状况检查

Grafana [可选] 集中式日志和可观测性

Jenkins [可选] 传统流水线编排

Nexus [可选] 项目存储库

在高层次上,Jenkins X 可以分为几个方面:

基础设施

Jenkins X 旨在很好地使用云,Kubernetes 来托管核心服务,用于长期存储的存储桶,容器注册表和机密管理器等托管服务。所有这些都需要创建和管理。Jenkins X 遵循 Terraform 来设置和管理 Jenkins X 所需的云基础架构。

GitOps

整个 Jenkins X 体验都是基于 Git 的。您开发的安装、扩展和应用程序通过集群 Git 存储库进行管理,该存储库是 Kubernetes 集群的所需状态。Kubernetes Operator 在集群内运行,并轮询 Git 存储库中的更改,应用经过验证和批准的更新。集群 Git 存储库使用 Helmfile 来描述应用于安装软件的 helm 图表。Jenkins X 生成 Helmfile 中定义的 Kubernetes 资源,提交回 Git,以便始终可以通过 Git 查看确切的状态。

使用 GitOps 意味着在对集群进行任何更改时可以遵循熟悉的流程,使用审查、自动化、可追溯性和回滚来更好地控制使用更改。

Jenkins X 还使用 GitOps 作为升级方式,包括新发布的映像、helm 图表和包。

机密管理

如上所述使用 GitOps 确实会带来一个挑战,即在哪里存储集群的机密,因为将它们保存在 Git 中是不安全的。有一种方法可以加密机密并将其存储在 Git 中,但存在可用性问题,这使得该方法使用起来不容易。Jenkins X 更喜欢与真正的秘密提供商解决方案(如 Vault)或云托管解决方案(如 Google、Azure 或 Amazon Secrets 管理器)合作。

Jenkins X GitOps 与外部机密配合使用以提供集成体验,因此机密事实来源是机密管理器,并在需要时将值复制到群集中。

管道

默认情况下,Jenkins X 随 Tekton 一起提供一种干净的声明式云原生方式来描述管道。结合 Lighthouse,Jenkins X 可以通过 Git 和简单的语法轻松继承版本控制的共享管道步骤,从而提供灵活性和易于维护。

Jenkins X 还可以很好地与 Jenkins 配合使用,适用于具有传统工作负载的用户。默认情况下不会安装此功能,但使用 Jenkins X 可以轻松安装任何 helm chart,因此旨在与我们鼓舞人心的项目 Jenkins 配合使用。

聊天运营

随着需要自动化的微服务数量不断增加,Jenkins X 提供了通过对拉取请求的注释与管道进行交互的能力。Lighthouse 是从 Kubernetes 生态系统中大量使用的 Prow 演变而来的,它为触发测试、批准、保留和开发人员在日常活动中使用的其他常见命令提供了一致的开发人员工作流程。

开发人员体验

与上面提到的 ChatOps 一起,Jenkins X 旨在帮助开发人员以一致的方式使用他们的微服务,使用 CLI 或 GUI,开发人员可以利用 Accelerate 书中推荐的成熟方法。

无论是创建或导入自动设置 CI 和 CD 的新项目,还是打包应用程序以便它们可以在 Kubernetes 上部署和运行,或者只是作为库发布供下游应用程序使用。Jenkins X 帮助团队在构建、开发和改进方面保持一致性。

jx CLI 帮助开发人员使用他们的终端与 Jenkins X 进行交互。

对于 GUI,Jenkins X 有一个 Octant 插件。Octant 在集群外部运行,并使用用户与 Kubernetes 资源交互的身份验证和权限。

群集管道仪表板中还有一个只读,它通过拉取请求进行链接,以便用户可以查看生成日志。


来自:

https://jenkins-x.io/v3/about/what/

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
4月前
|
jenkins Java Linux
[jenkins]简介与安装
[jenkins]简介与安装
|
7月前
|
jenkins 持续交付 开发工具
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)(下)
Jenkins 快速入门 (含Jenkins + Docker + Git 简单的自动化实操)
|
监控 jenkins 应用服务中间件
JenKins简介及安装
JenKins简介及安装
117 0
|
jenkins Java Shell
【2023】Jenkins入门与安装
【2023】Jenkins入门与安装
642 3
|
jenkins 持续交付 数据安全/隐私保护
01-Jenkins-环境搭建
01-Jenkins-环境搭建
|
jenkins Java Linux
第四章:安装Docker,安装配置gitlab私有仓库以及jenkins自动化部署(图文)
第四章:安装Docker,安装配置gitlab私有仓库以及jenkins自动化部署(图文)
475 1
|
jenkins Linux 持续交付
项目部署(jenkins 安装2) | 学习笔记
快速学习 项目部署(jenkins 安装2)
100 0
项目部署(jenkins 安装2) | 学习笔记
|
jenkins Java Linux
项目部署(jenkins 安装1) | 学习笔记
快速学习 项目部署(jenkins 安装1)
140 0
项目部署(jenkins 安装1) | 学习笔记
|
Java jenkins Linux
Jenkins环境安装与部署(一)
Jenkins环境安装与部署(一)
Jenkins环境安装与部署(一)
|
jenkins Java Linux
Jenkins 初体验
Jenkins 初体验
169 0
Jenkins 初体验
下一篇
DataWorks