容器化安装Jenkins部署devops
基础环境介绍
系统使用的是centos7.9
内核使用的是5.16.13-1.el7.elrepo.x86_64
容器使用的是26.1.4
docker-compose使用的是 v2.29.0
链路图
devops
配置git环境插件
部署好jenkins后开始配置 jenkins连接git,这里需要jenkins有连接git的插件。在已安装的插件中寻找git。
在可用的插件里找到 git plugin
在可用的插件里找到 Git Parameter
在页面看到有git插件后 进入容器也需要再验证一下,命令行直接输入git 看看是否有很多命令出来。
jenkinsdata]# docker exec -it bb4 /bin/bash
jenkins@bb4419a0ac15:/$ git
git git-lfs git-receive-pack git-shell git-upload-archive git-upload-pack
jenkins@bb4419a0ac15:/$ git
这里git插件验证完成,没啥问题了。
配置jenkins里的jdk和maven环境变量
公司大部分都是用的java项目打包的
这里服务器上有jdk和maven ,直接把文件目录移动过去就好了。
cp -r /usr/local/jdk/ /data/jenkinsdata/
cp -r /root/maven/ /data/jenkinssdata/# 记得授权app权限 这里容器内是用app启动的
chown -R app:app maven jdk
配置jdk的变量
进入容器查看jdk的路径
maven]# docker exec -it bb4 /bin/bash
jenkins@bb4419a0ac15:/$ ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
jenkins@bb4419a0ac15:/$ cd /var/jenkins_home/jdk/
jenkins@bb4419a0ac15:~/jdk$ ls
COPYRIGHT README.html THIRDPARTYLICENSEREADME.txt include jmc.txt legal man src.zip
LICENSE THIRDPARTYLICENSEREADME-JAVAFX.txt bin javafx-src.zip jre lib release
jenkins@bb4419a0ac15:~/jdk$ pwd
/var/jenkins_home/jdk
在页面配置jdk环境变量
1、这里不要选择自动安装,已经把jdk目录复制到宿主机的卷上了。
2、这里写的路径是上面进入容器后的路径。
配置maven的变量
进入容器查看maven的路径
jenkins@bb4419a0ac15:~/maven$ pwd
/var/jenkins_home/maven
在页面配置maven环境变量
1、这里不要选择自动安装,已经把maven目录复制到宿主机的卷上了。
2、这里写的路径是上面进入容器后的路径。
配置一个test项目
目的:是要 jenkins能够从gitlab拉取代码,并且完成打包编译的操作。
第一步构建项目
新建任务
这里名称自定义起一个,选择自由风格创建。
页面选择刚创建的test0920v1项目工程
第二步配置gitlab地址及凭证
这里点击 源码管理 开始配置私有仓库gitlab地址,这里会报错因为没有配置凭证
添加账号密码
选择刚添加的账号密码。
注意 这里需要jenkins容器所在宿主机可以连接gitlab,这里连接gitlab的账号有权限拉取代码。如果配置没有问题后 页面不会出现报错信息。
第三步拉取代码查看是否成功
点击项目 立即构建
控制台输出
查看日志信息
进入容器查看本次是否把代码拉取下来了,进入目录查看代码文件,看到是有文件的,说明拉取代码成功。
jenkins@bb4419a0ac15:~/maven$ cd /var/jenkins_home/workspace/test0920v01
jenkins@bb4419a0ac15:~/workspace/test0920v01$ pwd
/var/jenkins_home/workspace/test0920v01
jenkins@bb4419a0ac15:~/workspace/test0920v01$ ls
Jenkinsfile README.md docker pom.xml src
第四配置maven编译代码
选择到build steps --> maven目标
选择刚才添加的maven
编写编译代码的命令,保存退出点击立即构建。
注意这里写命令的时候 不要写mvn了 clean install -Dmaven.test.skip=true -U 直接写mvn后面的参数就好了,如果这里 写成 mvn clean install -Dmaven.test.skip=true -U 会报错。
点击构建查看日志,这里我就不再重复截图了。
这里看到日志是编译成功了
进入服务器查看是否打包成功,查看到是有jar包的,再次验证成功。
jenkins@bb4419a0ac15:~/workspace/test0920v01/target$ pwd
/var/jenkins_home/workspace/test0920v01/target
jenkins@bb4419a0ac15:~/workspace/test0920v01/target$ ls
classes datax-db.jar datax-db.jar.original generated-sources maven-archiver maven-status
第五步 把打包好的jar包发送到服务器上
推送到目标服务器上 还需要ssh插件,Publish Over SSH , SSH
上面插件安装完成后开始配置ssh插件
这里先配置一个远程服务器。(这里如果点击没有反应,重启一下容器)
这里选择高级选项点击输入密码
点击测试密码,显示success没有问题了。
开始配置Job
选择构建后操作,这里因为上面安装好了插件,这里才有
找到构建后操作
下面要写容器内打包的相对路径,查看容器内的路径
jenkins@bb4419a0ac15:~/workspace/test0920v01$ ls
Jenkinsfile README.md docker pom.xml src target
jenkins@bb4419a0ac15:~/workspace/test0920v01$ cd target/
jenkins@bb4419a0ac15:~/workspace/test0920v01/target$ ls
classes datax-db.jar datax-db.jar.original generated-sources maven-archiver maven-status
这里路径是target\*.jar 目录下的jar文件
查看任务日志 已经执行了推送步骤
查看目标服务器是否有文件,这里显示目标服务器上已有jar包。
[root@docker-010050111111-cm5 target]# pwd
/opt/target
[root@docker-010050111111-cm5 target]# ls
datax-db.jar