Jenkins

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。目前提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。

Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。本文记录通过使用 Helm Chart 将 Jenkins 部署到 Kubernetes 集群中

本文环境

  • jenkins 2.190.3
  • Kubernetes v1.14.8
  • helm 3.0 release

部署

  1. 部署 Kubernetes
  2. 配置 helm 及 kubectl 环境
  3. 部署 Jenkins
部署 Kubernetes

本文不再阐述 kubernetes 部署细节,有需要可以参考一步步部署 Kubernetes.

配置 helm 及 kubectl 环境

本文不再阐述 helm 及 kubectl 环境配置,需要自行安装.

部署 Jenkins
  1. 添加 helm repo

    helm repo add stable https://kubernetes-charts.storage.googleapis.com/
  2. 查看目前的最近版本

    $ helm search repo stable/jenkins -l
    NAME CHART VERSION APP VERSION DESCRIPTION
    stable/jenkins 1.9.11 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.10 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.9 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.8 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.7 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.6 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.5 lts Open source continuous integration server. It s...
    stable/jenkins 1.9.4 lts Open source continuous integration server. It s...
  3. 部署 jenkins

    chart 中对应的镜像版本为 lts ,这个版本的镜像 jenkins 一直有在更新。所以我们只需要部署目前最新的 chart 即可,默认是没有指定 storageClass 的,需要指定。

    $ helm install jenkins stable/jenkins -n <namespace> \
    --set persistence.storageClass=<storageClass>

    注意:namespace 为命名空间, storageClass 为存储类

    只需这一条命令 jenkins 就已经部署完成了,并且 chart 中默认安装了一些常用插件,比如 kubernetes 插件,并且生成了对应的配置,chart 真香:)

总结

本文只是简单介绍了使用 chart 的部署过程。

本文由博客一文多发平台 OpenWrite 发布!

Helm Chart 一键部署 Jenkins的更多相关文章

  1. mac通过docker一键部署Jenkins

    目录 mac通过docker一键部署Jenkins 一.前言 二.系统配置 三.安装步骤 Dockerhub查看镜像地址 1.一键安装 1.1.下载脚本 1.2.安装程序 1.2.1.安装程序详情 1 ...

  2. 如何选出适合自己的管理Helm Chart的最佳方式?

    本文转载自Rancher Labs 无论你喜欢与否,你都不得不承认Helm是管理Kubernetes应用程序独一无二的工具,你甚至可以通过不同的方式使用它. 在Helm的使用过程中,我们注意到有几个问 ...

  3. 使用 Helm Chart 部署及卸载 istio

    部署 istio 1.添加 istio 官方的 helm 仓库 helm repo add istio https://storage.googleapis.com/istio-release/rel ...

  4. Jenkins实现测试环境到生产环境一键部署(Windows)

    前言: 因为dotnet在发布站点后,然后再上传服务时,会因为各种的网速问题,导致站点瞬间挂掉!那么通过一键部署,先在测试站点测试好的文件,复制到正式站点上的一个缓冲区,进行预热配置,之后再本机进行文 ...

  5. jenkins + supervisor + ansible 实现netcore程序的多机一键部署

    上一篇我们简单的说到了使用jenkins+supervisor实现了一个单机版的多副本部署,但是在更多的场景下还是需要netcore程序的多机一键部署,那么多 机器间如何分发呢? 肯定不能使用scp这 ...

  6. Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践)

     转载:http://www.cnblogs.com/EasonJim/p/6295372.html Jenkins使用FTP进行一键部署及回滚2(Windows)(项目实践) 前提: 这一篇是继上一 ...

  7. 【K8S】helm chart多环境部署最佳实践-示例

    Chart.yaml apiVersion: v1 appVersion: "1.0" description: A Helm chart for Kubernetes name: ...

  8. 容器镜像服务联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

  9. 容器镜像服务 联手 IDE 插件,实现一键部署、持续集成与交付

    容器技术提供了一种标准化的交付方式,将应用的代码以及代码环境依赖都打包在一起,成为一个与环境无关的交付物,可以被用在软件生命周期的任何阶段,彻底改变了传统的软件交付方式. 甚至可以说,是在容器技术之后 ...

随机推荐

  1. java执行sql语句使用别名时显示Column '***' not found

    java执行sql语句使用别名时显示Column '*' not found 在做一个小项目时遇到个问题,执行sql语句使用别名时总是报sql异常 Column '*' not found,折腾半天终 ...

  2. C++中用stringstream类进行数据类型的转换

    我们在进行C++编程过程中,经常需要进行数据类型的转换. stringstream 类的作用就是进行数据类型转换.要想在程序中使用 stringstream 类,我们需要在源程序文件中包含头文件inc ...

  3. Python基础:10函数参数

    局部命名空间为各个参数值创建了一个名字,一旦函数开始执行,就能访问这个名字了. 在函数调用时,有非关键字参数和关键字参数之分,非关键字参数必须位于关键字参数之前. 在函数定义时,严格的顺序是:位置参数 ...

  4. SDUT-2054_数据结构实验之链表九:双向链表

    数据结构实验之链表九:双向链表 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 学会了单向链表,我们又多了一种解决问题的 ...

  5. laravel5.4 前后台未登陆,跳转到各自的页面

    https://www.imooc.com/wenda/detail/378208?t=266634 laravel我做了前后台登陆,后台未登录跳转到前台登陆页面了. 我想让后台未登入跳转到后台登陆页 ...

  6. 11 session 使用

    #session 使用app.secret_key = "dsada12212132dsad1232113"app.config['PERMANENT_SESSION_LIFETI ...

  7. ReactDOM & DOM Elements

    一.ReactDOM 1.1 render() ReactDOM.render(element,container,[callback]) 在container中渲染一个React元素,然后返回组件一 ...

  8. setTimeout 传参

    一般setTimeout中的参数为 setTimeout(f,time)但是如果我想要给f函数传入一个参数怎么办 setTimeout(f(arguments),time) 如果我这样写的话,那么ti ...

  9. 2019-9-2-git-需要知道的1000个问题

    title author date CreateTime categories git 需要知道的1000个问题 lindexi 2019-09-02 10:12:31 +0800 2018-2-13 ...

  10. HDU 1850 Nim-Sum思想总结、

    算法介绍: Nim游戏是指两个对手在m个堆中轮流随意从某一个堆中拿出n个元素,假定两个对手都是足够聪明,直至最后一次取的人将所有元素取出,此人取得胜利.与之相反的是Misere游戏,相同的游戏规则,但 ...