CICD平台搭建:Jenkins应用
接下来介绍如何将Jenkins与平时使用的工具进行集成使用,这样使得大家在可以编写Job的同时,能够灵活使用任务去集成调用Jenkins集成运用。本篇主要介绍以下内容:1、Jenkins Linux Shell集成。Linux Shell模块作为Jenkins下最常使用的模块,在Jenkins平台内最受大家欢迎的模块,作为运维人员可以无缝的将很多保存在Linux系统下的脚本迁移到Jenkins平台内,便于日常管理。作为开发人员,你也可以将平时使用到的Linux命令行任务迁移到Jenkins平台内,进行日常的代码测试等工作。2、Jenkins参数集成。Jenkins参数作为Jenkins重要的组成部分,所有需要与Jenkins进行数据交互的数据都需要从这个接口中进入,我们可以传入不同的参数,让Jenkins的任务实现不同环境、不同版本、不同逻辑的执行效果。3、Jenkins Git集成。可以使用Jenkins内建的git插件,将github、gitlab等仓库代码克隆到Jenkins本地,这样便于后续的代码构建工作。4、Jenkins Maven集成。可以使用Jenkins内建的Maven插件去将我们从git仓库中克隆出来的java源代码,编译成jar包或者war包到本地,以便于后续开始的部署工作。5、Jenkins Ansible集成。可以使用Jenkins内建的shell模块调用我们本地的ansible命令行工具,从而实现Jenkins能够集成ansible工具进行远程服务器的部署管理功能。
Jenkins Linux Shell集成
第一步,登录Jenkins web首页,创建一个Freestyle Project,名称为shell-freestyle-job
,选择Freestyle Project格式:
第二步,编辑描述信息,在描述那一栏填写:this is my first shell frestyle job.。然后添加build,其实就是你需要执行的信息。接着下拉菜单,在构建中选择Execute Shell
选项:
接着在shell脚本框内编写shell脚本:
1 | #!/bin/sh |
然后点击应用和保存按钮,页面会自动退出当前的build界面。最后点击左侧的Build Now
按钮开始build任务:
还可以点击右下角的蓝色小圆球来查看输出的日志信息:
Jenkins参数集成
第一步,登录Jenkins web首页,创建一个Freestyle Project,名称为parameter-freestyle-job
,选择Freestyle Project格式:
第二步,编辑描述信息,在描述那一栏填写:this is my first parameter frestyle job.。接着点击下方的This project is parameterized
(参数化构建过程)。然后下拉菜单,首先选择Choice Parameter
选项参数:
然后在里面填写build时的选项参数信息,具体包括名称、选项和描述:
之后点击添加参数,选择String Parameter
文本参数:
接着在里面输入以下信息:
之后点击添加参数,选择Boolean Parameter
布尔参数:
之后点击添加参数,选择PassWorld Parameter
密码参数:
第三步,添加build,其实就是你需要执行的信息:
然后在命令选项框内输入以下信息:
1 | #!/bin/sh |
然后点击应用和保存按钮,页面会自动退出当前的build界面。
第四步,点击“Build with Parameters”,开始运行任务。之后会进入构建前的参数选择界面,前面设置了选项参数,这里选择dev,下面的version是文本参数,默认为你前面设置的1.0.0。bool为前面设置的布尔值,默认为true。pass为前面设置的密码,默认为123456,当然你可以自己修改。然后点击下方的“开始构建按钮”按钮:
当出现蓝色的小圆球,说明项目已经构建完成了,然后点击那个小圆球,可以看到右侧已经成功输出了执行结果:
Jenkins Git集成
第一步,登录Jenkins web首页,创建一个Freestyle Project,名称为git-freestyle-job
,选择Freestyle Project格式:
第二步,编辑描述信息,在描述那一栏填写:this is my first git frestyle job.。
接着往下来,点击git,然后复制从gitlab中tets-repo
项目的https格式的地址放到下图的URL中:
之后点击左侧的build now按钮,开始构建项目:
Jenkins Maven集成
可以使用Jenkins内建的Maven插件去将我们从git仓库中克隆出来的java源代码,编译成jar包或者war包到本地,以便于后续开始的部署工作。点击 这里进入到Maven官网,然后选择Maven最新版tar.gz包下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
,然后回到Jenkins主机,在里面使用wget
+你刚才复制的地址,开始将Maven下载到Jenkins主机上:
1 | [root@jenkins ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz |
接下来按照如下命令依次执行,完成Maven的安装:
1 | [root@jenkins ~]# tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /opt |
可以看到这里就将Maven和Java的安装路径都输出打印出来了,这个后续会派上用场。
第一步,登录Jenkins web首页,创建一个Freestyle Project,名称为maven-freestyle-job
,选择Freestyle Project格式:
第二步,编辑描述信息,在描述那一栏填写:this is my first maven frestyle job.。然后运行gitlab所在的虚拟机,在gitlab上新建一个Java-war-dev
项目:
然后将本地的Java-war-dev
文件夹上传到gitlab中该项目内即可。可以先使用 git -c http.sslverify=false clone https://gitlab.example.com/root/java-war-dev
将其克隆到本地,然后使用git add .
添加所有文件,接着使用git commit -m "project init"
,最后使用git -c http.sslverify=false push
命令即可将其上传到gitlab对应的仓库:
接着往下来,点击git,然后复制从gitlab中Java-war-dev
项目的https格式的地址放到下图的URL中:
第三步,添加build,其实就是你需要执行的信息,选择与maven相关的那项即可:
然后在里面输入package,其实就是想让它执行maven package
打包编译操作。注意现在还是不能去build项目的,因为你还没有配置maven和java的环境变量,所以需要返回Jenkins后台工具管理界面配置Jenkins平台下的java_home,maven_home的路径。到Jenkins全局工具配置界面下(图片最上面的红色区域是版本更新提示,不用管它):
然后就是配置jdk和maven的home路径,这些就是你刚才在maven中获取的信息:
然后保存,回到maven-freestyle-job
的配置页面,选择maven的版本:
然后点击保存,并点击项目左侧的Build Now
按钮开始build项目。
Jenkins ansible集成
Jenkins ansible集成,这个过程较为复杂,它需要你在Jenkins主机上部署你之前在anible主机上的配置的ansible2.5+python 3.6虚拟环境,同时还需要配置了deploy用户下jenkins.example.com
主机到test.example.com
主机的ssh免秘钥认证。别忘记在/home/deploy
目录下配置一个testservers
清单,里面的代码为:
1 | [testserver] |
它用于指定远程登录主机为test.example.com
,后面表示需要登录到它的root用户下。以上步骤就不写了,前面都有详细配置。
第一步,登录Jenkins web首页,创建一个Freestyle Project,名称为ansible-freestyle-job
,选择Freestyle Project格式,且描述信息为this is my first ansible freestyle job.
。
第二步,添加build,其实就是你需要执行的信息:
然后在命令选项框内输入以下信息:
1 | #!/bin/sh |
set +x
用来关闭命令行扩展环境,避免一些无关的环境参数干扰Jenkins的任务日志。set -x
用来打开命令行扩展环境,并完成Jenkins集成ansible任务。
之后点击左侧的Build Now
按钮,开始构建项目,然后点击左侧蓝色的小圆球查看相应的日志信息。