Jenkins X 一瞥
Posted 伪架构师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins X 一瞥相关的知识,希望对你有一定的参考价值。
推出 Blue Ocean 之后,Jenkins 似乎沉默了很久,终于在 3.21 发布了名为Jenkins X
的项目,这一项目对开发人员和云端的 CI/CD 环境之间的交互过程进行了审视和反思,结合自动化、工具链以及 DevOps 最佳实践。为开发团队提供了新的生产效率增长点。
项目动机
作为一种发布形式,容器镜像因其精简、高效、低成本以及易用性等诸多好处,已经超越虚拟机成为首选的分发手段。
Kubernetes 成功的跨越各种平台、公有云的藩篱,成为容器云的标准,成为软件分发、安装和管理的工业标准的坚实基础。
微服务和云原生应用成为主流,日益增长,需要有相对应的 CI/CD 提供支撑。
平台亮点
Jenkins X 解决的不仅仅是安装问题,其中还带有在云原生应用 CI/CD 平台方面的最佳实践。
强大的命令行工具
新的命令行工具jx
,支持 OSX、Linux 平台,用接近 50 个命令,为用户提供了从集群安装、环境管理一直到应用发布的整个大环节的支持。甚至还贴心的提供了支持 Bash 以及 zsh 的自动完成能力。
列举几个有意思的命令:
jx create cluster
:创建 Kubernetes 集群。jx install
:在 Kubernetes 上安装 Jenkins X。jx create spring
:创建 Spring boot 应用。jx promote
:将应用的制定版本升级到某环境。
完整的工具链整合
包括 Maven、Docker Registry、Monocular、CharMuseum 等工具的直接整合,并且内置了众多插件,各个服务之间的调用关系也已经设置完毕。常用的 Slave 构建、Mvn 构建、Git WebHook 等功能都会根据要求自动完成。
环境和 GitOps 支持
Jenkins X 将 Git 仓库、Kubernetes 命名空间、升级策略等内容结合在一起,成为了一个环境的定义,并且同 Github flow 结合在一起,让工作流程和环境切换有机结合,在工具链整合之外,又提供了工作流整合的完善支持。
例如 JX 的预览功能,在收到 Pull Request 时候,会根据这一请求构建镜像,并发布到用于预览的命名空间,同时还会在这一 Request 中注明预览环境就绪等待测试。
安装一下
先决条件
工具
helm
kubectl
git
Kubernetes 集群
互联网连接
Tiller
公网 IP
github 账号
安装 jx
http://jenkins-x.io/getting-started/install/
提供了几种系统下的安装说明:
OS X:
brew tap jenkins-x/jx && brew tap jenkins-x/jx
Linux:
curl -L https://github.com/jenkins-x/jx/releases/download/v1.1.10/jx-darwin-amd64.tar.gz | tar xzv && mv jx /usr/local/bin
jx install
jx create cluster
支持多种公有云的创建。
配置好集群和对应的 kubeconfig 访问之后,就可以使用jx install
进行安装了。
过程中几个需要注意的点:
如果 Tiller 的 SA 权限不足,会导致安装失败,可设置相应的 ClusterRole 进行解决。
安装过程会修改 kubeconfig 文件,因此建议做好备份。
为完整体验功能,建议听从安装器建议,安装 Ingress Controller。
Jenkins X 的环境管理以及代码拉取等功能需要和 Github 进行交互,因此会提问 GitHub 的 Token。
安装过程相对较长,可以使用
watch kubectl get pods -n jx
查看进程状况。最后步骤会显示管理密码,注意复制保存。
安装完成
JX 会为用户建立三个环境分别是,Dev、Staging 以及 Production。
运行命令jx console
,会打开浏览器进入 Jenkins 登录页面。
登录之后我们会看到正在进行构建,如果是一个排队状态,可能是因为正在创建 Worker Pod,可以使用kubectl
查询具体情况。
构建完成,会看到这一示例中包含了拉取、构建、Helm、环境等几个步骤,可以作为工作的基础环节来进行使用。
应用
接下来就可以做几个善后工作
jx 支持插件,可以通过
jx get addons
查看支持的插件列表,进行安装。根据实际工作需要,对缺省环境进行调整,安装所需软件。
对 Jenkins X 中的软件、集群进行安全加固。
使用
import
或者create spring
/create quickstart
,进行项目工作。
最后要注意的一点是,Jenkins X 目前的升级频率非常高。不建议生产使用。
以上是关于Jenkins X 一瞥的主要内容,如果未能解决你的问题,请参考以下文章
SonarQube 9.x与Jenkins进行集成并扫描后端java以及前端vue代码;