CICD - Maven 部署及配置实战 【六】
Maven安装部署
https://maven.apache.org/download.cgi
https://dlcdn.apache.org/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz
传入Jenkins服务器上
[root@jenkinsnew Jenkins]# tar zxvf apache-maven-3.9.3-bin.tar.gz
[root@jenkinsnew Jenkins]# mv apache-maven-3.9.3 /usr/local/maven
[root@jenkinsnew Jenkins]# /usr/local/maven/bin/mvn -v
Apache Maven 3.9.3 (21122926829f1ead511c958d89bd2f672198ae9f)
Maven home: /usr/local/maven
Java version: 11.0.19, vendor: Oracle Corporation, runtime: /usr/local/src/jdk-11.0.19
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
Git提交代码
[root@jenkinsnew ~]# git clone git@192.168.40.130:magedu/java-maven.git
Cloning into 'java-maven'...
warning: You appear to have cloned an empty repository.
[root@jenkinsnew ~]# cd java-maven
[root@jenkinsnew java-maven]# ll
total 0
[root@jenkinsnew java-maven]# mkdir demo-1
[root@jenkinsnew java-maven]# cd demo-1/
[root@jenkinsnew demo-1]# mv /root/testgit/SpringBootDemo/demo-1/* .
[root@jenkinsnew demo-1]# ll
total 4
-rw-r--r--. 1 root root 2030 Jul 3 13:51 pom.xml
drwxr-xr-x. 4 root root 30 Mar 26 08:40 src
drwxr-xr-x. 9 root root 249 Jul 3 13:52 target
[root@jenkinsnew demo-1]# cd ..
[root@jenkinsnew java-maven]# ll
total 0
drwxr-xr-x. 4 root root 46 Jul 3 14:44 demo-1
[root@jenkinsnew java-maven]# git add ./
[root@jenkinsnew java-maven]# git commit -m "add README"
[master (root-commit) 70606a8] add README
23 files changed, 247 insertions(+)
create mode 100644 demo-1/pom.xml
create mode 100644 demo-1/src/main/java/com/study/boot/MainApplication.java
create mode 100644 demo-1/src/main/java/com/study/boot/controller/HelloController.java
create mode 100644 demo-1/src/main/java/com/study/boot/mapper/StudentMapper.java
create mode 100644 demo-1/src/main/java/com/study/boot/pojo/Student.java
create mode 100644 demo-1/src/main/resources/application.properties
create mode 100644 demo-1/src/main/resources/mappers/StudentMapper.xml
create mode 100644 demo-1/target/SpringBootDemo-1.0-SNAPSHOT.jar
create mode 100644 demo-1/target/SpringBootDemo-1.0-SNAPSHOT.jar.original
create mode 100644 demo-1/target/classes/application.properties
create mode 100644 demo-1/target/classes/com/study/boot/MainApplication.class
create mode 100644 demo-1/target/classes/com/study/boot/controller/HelloController.class
create mode 100644 demo-1/target/classes/com/study/boot/mapper/StudentMapper.class
create mode 100644 demo-1/target/classes/com/study/boot/pojo/Student.class
create mode 100644 demo-1/target/classes/mappers/StudentMapper.xml
create mode 100644 demo-1/target/maven-archiver/pom.properties
create mode 100644 demo-1/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
create mode 100644 demo-1/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
create mode 100644 demo-1/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
create mode 100644 demo-1/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
create mode 100644 demo-1/target/surefire-reports/TEST-com.study.mybatis.test.MyBatisTest.xml
create mode 100644 demo-1/target/surefire-reports/com.study.mybatis.test.MyBatisTest.txt
create mode 100644 demo-1/target/test-classes/com/study/mybatis/test/MyBatisTest.class
[root@jenkinsnew java-maven]# git commit -m "add README"
# On branch master
nothing to commit, working directory clean
[root@jenkinsnew java-maven]# git push -u origin master
Counting objects: 56, done.
Delta compression using up to 6 threads.
Compressing objects: 100% (32/32), done.
Writing objects: 100% (56/56), 19.46 MiB | 0 bytes/s, done.
Total 56 (delta 2), reused 0 (delta 0)
To git@192.168.40.130:magedu/java-maven.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
[root@jenkinsnew java-maven]#
测试代码
Jenkins 跑起来
java.io.IOException: Cannot run program "java" (in directory "/var/lib/jenkins/workspace/First-Maven/demo-1"): error=2, No such file or directory
[root@jenkinsnew bin]# pwd
/usr/local/src/jdk-11.0.19/bin
[root@jenkinsnew bin]# ln -s /usr/local/src/jdk-11.0.19/bin/ja
jar jarsigner java javac javadoc javap
[root@jenkinsnew bin]# ln -s /usr/local/src/jdk-11.0.19/bin/ja
jar jarsigner java javac javadoc javap
[root@jenkinsnew bin]# ln -s /usr/local/src/jdk-11.0.19/bin/java /usr/local/bin/java
[root@jenkinsnew bin]# cd /usr/local/bin/
[root@jenkinsnew bin]# ll
total 0
lrwxrwxrwx. 1 root root 35 Jul 3 15:01 java -> /usr/local/src/jdk-11.0.19/bin/java
Jenkins中配置Maven
如果没有需要到AvailablePlugins进行 安装添加 或者 自行下载


配置Maven路径参数



Jenkins通过Maven打包
通过Pushlish Over SSH 将打包后的jar包 传到对应服务器上
安装Publish Over SSH插件


配置Publish over SSH 参数 到 192.168.40.130 Tomcat服务器上


配置Maven项目中 pom.xml 参数 并且执行Sendfile or execute command over SSH

配置详细参数

超时机制
输出命令时一定要注意不要让窗口卡住,不然Jenkins会认为一直没完成
nohup java -jar /root/xxoo/demo*.jar > mylog.log 2>&1 &
优化Pre-Step执行构建前执行目标服务器脚本



浙公网安备 33010602011771号