1. Jenkins介绍
Jenkins 是一款流行的开源持续集成(Continuous Integration)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。官网: http://jenkins-ci.org/。
Jenkins的特征:
- 开源的 Java语言开发持续集成工具,支持持续集成,持续部署。
- 易于安装部署配置:可通过 yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
- 消息通知及测试报告:集成 RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。
- 分布式构建:支持 Jenkins能够让多台计算机一起构建/测试。
- 文件识别: Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
- 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如 git,svn,maven,docker等。
Jenkins安装和持续集成环境配置
1 )首先,开发人员每天进行代码提交,提交到Git仓库
2)然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新再执行一次整个流程。
3)最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。
2. Jenkins环境搭建
2.1 Jenkins安装配置
-
采用YUM方式安装
加入jenkins安装源:
shsudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
执行yum命令安装:
shyum install java-17-openjdk yum -y install jenkins
-
采用RPM安装包方式
shwget https://pkg.jenkins.io/redhat-stable/jenkins-2.190.1-1.1.noarch.rpm
执行安装:
shrpm -ivh jenkins-2.190.1-1.1.noarch.rpm
-
配置:
修改配置文件:
shvi /etc/sysconfig/jenkins
修改内容:
sh# 修改为对应的目标用户, 这里使用的是root $JENKINS_USER="root" # 服务监听端口 JENKINS_PORT="16060"
目录权限:
shchown -R root:root /var/lib/jenkins chown -R root:root /var/cache/jenkins chown -R root:root /var/log/jenkins
重启:
shsystemctl restart jenkins
如果启动失败, 出现错误信息:
shStarting Jenkins bash: /usr/bin/java: No such file or directory
创建JAVA环境的软链接:
shln -s /usr/local/jdk/bin/java /usr/bin/java
-
管理后台初始化设置
需要输入管理密码, 在以下位置查看:
shcat /var/lib/jenkins/secrets/initialAdminPassword
按默认设置,把建议的插件都安装上
这一步等待时间较长, 安装完成之后, 创建管理员用户。配置访问地址:
配置完成之后, 会进行重启, 之后可以看到管理后台:
2.2 Jenkins插件安装
在实现持续集成之前, 需要确保以下插件安装成功。
- Maven Integration plugin: Maven 集成管理插件。
- Docker plugin: Docker集成插件。
- GitLab Plugin: GitLab集成插件。
- Publish Over SSH:远程文件发布插件。
- SSH: 远程脚本执行插件。
安装方法:
-
进入【系统管理】-【插件管理】
-
点击标签页的【可选插件】
在过滤框中搜索插件名称
-
勾选插件, 点击直接安装即可。
注意,如果没有安装按钮,需要更改配置
在安装插件的高级配置中,修改升级站点的连接为:http://updates.jenkins.io/update-center.json 保存
2.3 Git安装配置
-
yum 安装方式
shyum -y install git
-
采用源码包方式安装
-
安装依赖包
shyum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum -y install gcc perl-ExtUtils-MakeMaker
-
如果之前有安装旧版本, 先做卸载, 没有安装则忽略
shyum remove git
-
下载源码包
shcd /usr/local wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-1.8.3.1.tar.gz tar -xvf git-1.8.3.1.tar.gz
也可以安装其他版本, 地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
-
编译安装
shcd git-1.8.3.1 make prefix=/usr/local/git all make prefix=/usr/local/git install echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc source /etc/bashrc
-
-
检查git版本
sh[root@localhost jenkins]# git version git version 1.8.3.1
2.4 Maven安装配置
-
下载安装包
-
解压安装包
shcd /usr/local unzip -o apache-maven-3.6.1.zip
上传本地仓库并解压
-
配置
环境变量配置
shvi /etc/profile
增加:
shexport MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1 export PATH=$PATH:$MAVEN_HOME/bin
如果权限不够,则需要增加当前目录的权限
shellchmod 777 /usr/local/maven/apache-maven-3.6.1/bin/mvn
修改镜像仓库配置:
shvi /usr/local/maven/apache-maven-3.6.1/conf/settings.xml
需要把本机的仓库打包上传到服务器上(不上传会自动下载)
然后指定上传后的仓库配置
2.5 Docker安装配置
-
更新软件包版本
shyum -y update
-
卸载旧版本
shyum -y remove docker docker-common docker-selinux docker-engine
-
安装软件依赖包
shyum install -y yum-utils device-mapper-persistent-data lvm2
-
设置yum源为阿里云
shsudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装后查看docker版本
shdocker -v
-
启动
设置开机启动:
shsystemctl enable docker
启动docker
shsystemctl start docker
2.6 Docker Registry私有仓库安装配置
3. Jenkins工具配置
-
进入【系统管理】--> 【全局工具配置】
-
MAVEN配置全局设置
-
指定JDK配置
-
指定MAVEN 目录
-
指定DOCKER目录
如果不清楚docker的安装的目录,可以使用
whereis docker
命令查看docker的安装的目录