Jenkins–CD持续部署
安装Jenkins环境
Jenkins是基于java环境的所以先安装JDK
安装JDK
yum install -y java-1.8.0-openjdk* # 阿里云/清华源
java包的位置:
ll /usr/lib/jvm
drwxr-xr-x 9 root root 176 Mar 7 07:47 java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 # 这个目录下只有这个是目录,需要将这个路径声明在全局的环境变量中
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib.tools.jar
export PATH=$PATH:$JAVA_HOME/bin
. /etc/profile # 使环境变量生效
安装Jenkins
清华源地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
yum install -y https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.256-1.1.noarch.rpm # 安装Jenkins
修改Jenkins配置文件
Jenkins配置文件路径:/etc/sysconfig/jenkins
vim /etc/sysconfig/jenkins
JENKINS_USER="root" # 登录用户jenkins修改为root,也可以将Jenkins加入到root组里
JENKINS_PORT="8083" # 修改端口,默认端口8080一般都是有服务的端口
启动Jenkins
systemctl start jenkins # 启动Jenkins
# 关闭防火墙
测试优化
访问你的IP:port,如果服务起来了,但是访问不了,可能是端口被占用了,换一个端口
如果一直卡在如下页面
说明遇到了卡界面的问题,所以我们需要修改如下配置,只有清华源支持,这个要注意
cd /var/lib/jenkins/ # 进入这个目录下
vim hudson.model.UpdateCenter.xml # 修改这个文件
<url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> # 将这个官方默认升级的地址换成清华源的地址,提升访问速递
这时需要重启Jenkins
systemctl restart jenkins # 重启服务
然后在浏览器输入Jenkins的IP:port 就会出现如下界面
这个界面的管理密码上边有提示,在/var/lib/jenkins/secrets/initialAdminPassword这个文件中所以
cat /var/lib/jenkins/secrets/initialAdminPassword # 将密码输入到界面即可
国内插件被墙
这个时候还会出现卡界面的情况,需要替换清华源
cd /var/lib/jenkins/updates && ls
default.json hudson.tasks.Maven.MavenInstaller # updates目录下的文件
sed -i 's/http:\/\/updates.jenkinsci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json # 将国外的源换成清华源(升级中心)
systemctl restart jenkins # 重启服务
在浏览器重新进入,如果插件安装失败,多安装几次即可。
**注意:**在这个界面下需要将NodeJS、Git、GitLab、Publish Over SSH这几个插件选择上,其余默认即可,点击安装
等待安装即可
温馨提示:如果网不好会安装失败
安装成功后会出现如下页面
安装全局变量
安装JDK
在Jenkins的界面–>系统管理–>全局工具配置
需要将JDK配置到Jenkins的全局变量中
在命令行查询(JDK我们在文章开头已经安装)
ll /usr/lib/jvm
drwxr-xr-x 9 root root 176 Mar 12 06:10 java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64 # 这个Java的JDK需要配置到jenkins的全局变量中,在jvm目录下只有这一个目录
安装git
在命令行查询
whereis git # 如果没有需要安装
git: /usr/bin/git /usr/share/man/man1/git.1.gz # 将/usr/bin/git这个路径写入jenkins全局变量
安装maven
安装maven就会在系统生成一个Java环境的编译器供用户使用
在命令行执行
maven配置文件:/etc/maven/setting.xml
yum install -y maven # 先安装maven,配置文件:/etc/maven/setting.xml
mvn -v # 查看maven是否安装完成
whereis maven
maven: /etc/maven /usr/share/maven # 将/usr/share/maven这个路径添加到Jenkins的全局变量中
安装插件
maven插件、git插件、JDK、Nodejs插件、GitLab hooks插件
点击系统管理–>插件管理–可选插件
安装maven插件
在可选插件里选择Maven Integration(主要)、Pipeline Maven Integration、Maven Release Plug-in这三个插件安装就够了
构建项目
Jenkins会在GitLab自动拉取代码到本地,自动构建,生成war包格式的包文件,上传到Tomcat中的webapps
生成jar格式的包文件,直接在没有Tomcat的环境中运行(只有JDK环境)
确定以后,操作如下
选择代码仓库
保存以后选择立即构建
构建完成后,在控制台输出力查看,是否构架成功,上线的包的格式是war(Java)或jar(Spring)格式的包,war格式的包会直接上传到Tomcat中,当然,上传到tomcat还需要插件
项目有没有构建成功还可以查看上图的小球(还可以查看构建历史)
灰色小球:表示项目没有构建完(整了一半)
红色小球:表示项目构建失败
蓝色小球:表示项目构建成
黄色小球:表示项目有警告信息
Jenkins推送代码到Tomcat
我们在将代码编译完成生产war格式的包文件以后,就需要将包推送到Tomcat中,如何推送呢?
需要安装插件:Publish Over SSH
安装方式,上边说过,这里不说了
让点击系统管理–>系统配置,然后拉到最下边
点击完新增以后
点击高级以后
点击test后显示success表示Jenkins和Tomcat连接成功,然后点击保存
然后再打开构建的test项目
完成后重新构建,这时war包就会传到Tomcat的webapps目录下,如果不是war格式的包,就无法传送
至此Jenkins的搭建以及Jenkins自动部署到Tomcat已经全部完成了