前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jenkins X 一瞥

Jenkins X 一瞥

作者头像
崔秀龙
发布2019-07-22 11:22:44
7270
发布2019-07-22 11:22:44
举报
文章被收录于专栏:伪架构师

推出 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、环境等几个步骤,可以作为工作的基础环节来进行使用。

应用

接下来就可以做几个善后工作

  1. jx 支持插件,可以通过jx get addons查看支持的插件列表,进行安装。
  2. 根据实际工作需要,对缺省环境进行调整,安装所需软件。
  3. 对 Jenkins X 中的软件、集群进行安全加固。
  4. 使用import或者create spring/create quickstart,进行项目工作。

最后要注意的一点是,Jenkins X 目前的升级频率非常高。不建议生产使用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 伪架构师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目动机
  • 平台亮点
    • 强大的命令行工具
      • 完整的工具链整合
        • 环境和 GitOps 支持
        • 安装一下
          • 先决条件
            • 安装 jx
              • jx install
                • 安装完成
                  • 应用
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档