• Jenkins X介绍及安装


     

    Jenkins X 是一个高度集成化的 CI/CD 平台,基于 Jenkins 和 Kubernetes 实现,旨在解决微服务体系架构下的云原生应用的持续交付的问题,简化整个云原生应用的开发、运行和部署过程。

     

    Jenkins X 核心组件

     

     

    Jenkins

     

    Jenkins X 不是一个全新的 Jenkins。

     

    它依然使用 Jenkins 作为持续交付的核心引擎,实际上 Jenkins X 作为 Jenkins 的一个子项目存在,专注于云原生应用的 CI/CD 实现,同时也帮助 Jenkins 自身完成云原生应用的转型,毕竟现在越来越多的人在诟病单体应用的设计和文件存储系统。

     

    HELM

     

    Helm 是用于管理 Kubernetes 资源对象的工具,类似 APT,YUM 和 HOMEBREW,它通过将 Kubernetes 的资源对象打包成 Chart 的形式,完成复杂应用的部署和版本控制,是目前业界流行的解决方案

     

    DRAFT

     

    Draft 是自动化应用构建和运行在 Kubernetes 上面的工具,具有语言识别能力,能够自动生成构建脚本,依赖,环境并打包成 Docker 镜像并部署在 Kubernetes 集群上,加快代码开发节奏,而无需关心基础设施层面的技术实现

     

    GitOps

     

    GitOps 是 Weaveworks 推出的天才的应用部署解决方案,它将 Git 作为整个应用部署的单一可信数据源(SSOT),通过类似代码开发的 Pull Request 流程完成应用部署的 Review 和自动化实现,并且将部署配置信息纳入版本控制。

      

    Jenkins X 部分新特性

    1. 自动化一切:自动化CI/CD流水线

    1. 选择项目类型自动生成Jenkinsfile定义流水线

    2. 自动生成Dockerfile并打包容器镜像

    3. 自动创建Helm Chart并运行在Kubernetes集群

    4. 自动关联代码库和流水线,作为代码变更自动触发(基于Webhook实现)

    5. 自动版本号自动归档

    2. Review代码一键部署应用:基于GitOps的环境部署

    1. 所有的环境,应用列表,版本,配置信息统一放在代码库中进行版本控制

    2. 通过Pull Request实现研发和运维的协同,完成应用部署升级(Promotion)

    3. 可自动部署和手动部署,在必要的时候增加手工Review

    4. 当然这些都封装在jx命令中实现

    3. 自动生成预览环境和信息同步反馈

    1. 预览环境用于代码Review环节中临时创建

    2. 同Pull Request工作流程集成并实现信息同步和有效通知

    3. 验证完毕后自动清理

    4. 提交和应用状态自动同步到Github注释

    5. 自动生成release notes信息供验证

     

    Jenkins X安装---以linux为例

    1.在本地安装jx命令行工具

     

    #curl -L https://github.com/jenkins-x/jx/releases/download/v1.1.40/jx-linux-amd64.tar.gz | tar xzv 
    #mv jx /usr/local/bin

    2.使用jx创建一个k8s集群,并自动安装Jenkins X(http://jenkins-x.io/getting-started/create-cluster/)或在已经存在的k8s集群上安装Jenkns x(http://jenkins-x.io/getting-started/install-on-cluster/)

      通过已存在的k8s上安装只需要执行 #jx install即可

    这里说下使用JX创建一个k8s集群安装jenkins X的注意点:

    .执行命令#jx create cluster minikube 会默认下载minikube,kubectl和helm到~/.jx/bin目录下,所以这里需要将该路径加入到系统PATH下;

    .安装一款虚拟机软件支持kvm,virtualbox,no(使用docker的话选此选项,注意一定要为其指定专门的网桥)

    .根据提示输入内存(默认4096M)输入CPU核数(默认3),选择虚拟机,确定会自动下载Minikube ISO(142.22M)并启动虚拟机加载该镜像。

  • 相关阅读:
    201771010134杨其菊《面向对象程序设计(java)》第十三周学习总结
    201771010107-冯志霞 实验四 软件项目案例分析
    201771010107-冯志霞 实验三 结对项目——《西北师范大学疫情防控信息系统》项目报告
    201771010107-冯志霞 实验二 个人项目-《西北师范大学学生疫情上报系统》项目报告
    201771010107 冯志霞 实验一 软件工程准备
    冯志霞201771010107《面向对象程序设计(java)》第十八周学习总结
    冯志霞201771010107《面向对象程序设计(java)》第十七周学习总结
    冯志霞201771010107《面向对象程序设计(java)》第十六周学习总结
    冯志霞201771010107《面向对象程序设计(java)》第十五周学习总结
    冯志霞201771010107《面向对象程序设计(java)》第十四周学习总结
  • 原文地址:https://www.cnblogs.com/xiaoxi-song/p/9635202.html
Copyright © 2020-2023  润新知