Jenkins X

Stella981
• 阅读 876

Jenkins X

上一节《Jenkins X--(6)虚拟机里搭建Minikube环境》,我们已经完成了基于minikube的K8s环境的搭建,如果只是学习K8s这个环境就够了。这一节,我们要在这个K8s集群上,搭建一套云原生时代CICD的开源框架:Jenkins X。

jenkins-x-versions:v1.0.118 https://github.com/jenkins-x/jenkins-x-versions

jx:2.0.844 https://github.com/jenkins-x/jx

jenkins-x-platform:2.0.1413 https://github.com/jenkins-x/jenkins-x-platform

jenkins-x-versions是一个包含与jenkins-x及其相关程序一起使用的packages和helm charts的一致的版本集合。jenkins-x-versions v1.0.118 对应的jx版本是2.0.844,jenkins-x-platform的版本是2.0.1413。

首先安装jx

首先在本机上安装一个命令行工具jx,用于安装和使用Jenkins X。

jx可以安装在MacOs,Linux和Window上。可以参考:https://github.com/jenkins-x/jx/releases

这里执行一下命令安装2.0.844版本的jx:

curl -L https://github.com/jenkins-x/jx/releases/download/v2.0.844/jx-linux-amd64.tar.gz | tar xzv 

验证jx是否安装成功,输入:jx,显示jx的命令清单。

[root@learncloudnative ~]# jx

安装Jenkins-X到当前K8s集群

准备工作

jx在安装jenkinsX到K8s集群时,需要从github上clone相关的代码库,比如:预览环境和生产环境的模板代码库。也需要提供一个Git Server以及相关的账号、Token来上传相应的代码库。因此,验证git是否安装,并设置git config。

安装Git

centos里自带的git的版本有点低,可通过下面方法使用源码安装高版本git

# yum -y groupinstall Development tools

设置Git Server Token

Git Server的token提前准备好,我这里是用的github,可以在个人设置Setting---Personal access tokens里添加新的token。权限包括:delete_repo, read:org, read:user, repo, user:email, write:repo_hook

Jenkins X

下载JenkinsX的镜像

jenkinsX的镜像需要从国外网站上下载,jx并没有提供像minikube里指定镜像地址的参数,这里只能依靠之前写的《Jenkins X--(4)不用翻墙也能下载国外的镜像》,先提前把镜像准备好。各位幸运的是,这些镜像我都已经准备好了,可以在hub.docker.com里搜索,账号:xinglongjian下一般都有,如果没有,那就是在其他的账号里已经有了,我就没重复上传。如果都没有,可以安装文章里提供的方法,自行上传。

下载镜像

转成tag镜像

docker pull xinglongjian/jenkinsx:0.0.80

gcr.io/jenkinsxio/jenkinsx:0.0.80

docker pull xinglongjian/builder-jx:2.0.842-199

gcr.io/jenkinsxio/builder-jx:2.0.842-199

docker pull xinglongjian/jx:2.0.645

gcr.io/jenkinsxio/jx:2.0.645

docker pull xinglongjian/builder-maven:2.0.842-199

gcr.io/jenkinsxio/builder-maven:2.0.842-199

docker pull xinglongjian/nexus:0.1.7

gcr.io/jenkinsxio/nexus:0.1.7

docker pull xinglongjian/heapster:v1.5.2

k8s.gcr.io/heapster:v1.5.2

docker pull xinglongjian/addon-resizer:1.7

k8s.gcr.io/addon-resizer:1.7

docker pull xinglongjian/chartmuseum:v0.7.1

chartmuseum/chartmuseum:v0.7.1

docker pull xinglongjian/exposecontroller:2.3.111

gcr.io/jenkinsxio/exposecontroller:2.3.111

docker pull xinglongjian/nginx-ingress-controller:0.25.1

quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.1

docker pull registry:2.6.2

执行安装

jx install --versions-ref='v1.0.118' 

执行过程如下:执行过程中会设置git config,以及连接github的账号和token,jx install根据指定的版本下载相应的代码库和镜像,同时会给自己的代码库中创建好环境代码库(test,stage,production)。

[root@learncloudnative ~]# jx install --versions-ref='v1.0.118' 

jenkins X安装时默认,在k8s集群中安装一个名为jx的命名空间。同时也会为每个环境创建一个命名空间,如下表:

[root@learncloudnative ~]# kubectl get ns 

以界面启动,在终端输入:jx console,可以在浏览器中打开jenkins X的控制台。

[root@learncloudnative ~]# jx console

在浏览器中打开这个地址,使用上面的管理员密码登录。

Jenkins X

登录后,就进入到Jenkins的主界面了,同时有我们上面自动创建的两个环境(staging和production)流水线。

Jenkins X

查看environment-healerwheat-production流水线的执行状态和执行日志。

Jenkins X

这样,Jenkins X的环境就搭建好了,Jenkins X是云原生时代的CICD实现,以DevOps最佳实践和原则为指导,真正能够做到自动化,高效。

本文分享自微信公众号 - DevOps探索者(devopsagile)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
待兔 待兔
2个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Stella981 Stella981
2年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
MySQL 的慢 SQL 怎么优化?
!(https://oscimg.oschina.net/oscnet/7b00ec583b5e42cc80e8c56c6556c082.jpg)Java技术栈www.javastack.cn关注阅读更多优质文章(https://www.oschina.net/action/GoToLink?urlhttp
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
8个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这