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/

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
jenkins 持续交付 开发工具
阿里云容器服务Kubernetes之Jenkins X(1)-安装部署实践篇
"Jenkins X is a CI/CD solution for modern cloud applications on Kubernetes." 这是Jenkins社区对于Jenkins X 的官方总结和定义。
7176 0
|
Kubernetes Cloud Native 安全
ArgoCD + KubeVela:以开发者为中心的 GitOps
在这篇博文中,我们将分享基于阿里云的用例,使用 Argo CD 和 KubeVela 构建以开发者为中心的持续应用交付流水线的经验。
ArgoCD + KubeVela:以开发者为中心的 GitOps
|
Kubernetes 安全 网络协议
【K8S系列】深入解析k8s网络插件—Calico
【K8S系列】深入解析k8s网络插件—Calico
5585 0
|
8月前
|
运维 Kubernetes 前端开发
如何用 eBPF 实现 Kubernetes 网络可观测性?实战指南
本文深入探讨了Kubernetes网络观测的挑战与eBPF技术的应用。首先分析了传统工具在数据碎片化、上下文缺失和性能瓶颈上的局限性,接着阐述了eBPF通过零拷贝观测、全链路关联和动态过滤等特性带来的优势。文章进一步解析了eBPF观测架构的设计与实现,包括关键数据结构、内核探针部署及生产环境拓扑。实战部分展示了如何构建全栈观测系统,并结合NetworkPolicy验证、跨节点流量分析等高级场景,提供具体代码示例。最后,通过典型案例分析和性能数据对比,验证了eBPF方案的有效性,并展望了未来演进方向,如智能诊断系统与Wasm集成。
354 1
|
Kubernetes Ubuntu jenkins
超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
超详细实操教程!在现有K8S集群上安装JenkinsX,极速提升CI/CD体验!
|
运维 Prometheus 监控
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
WatchAlert 是一个开源的多数据源告警引擎,支持从 Prometheus、Elasticsearch、Kubernetes 等多种数据源获取监控数据,并根据预定义的告警规则触发告警。它具备多数据源支持、灵活的告警规则、多渠道告警通知、可扩展架构和高性能等核心特性,帮助团队更高效地监控和响应问题。项目地址:https://github.com/opsre/WatchAlert
1727 18
🎉 WatchAlert - 开源多数据源告警引擎【运维研发必备能力】
|
机器学习/深度学习 人工智能 自然语言处理
代替程序员?微软让 AI 学会了代码审查
代替程序员?微软让 AI 学会了代码审查
1185 0
|
机器学习/深度学习 人工智能 运维
智能日志分析:用AI点亮运维的未来
智能日志分析:用AI点亮运维的未来
3925 15