【完成】Jenkins插件安装(自动化发布前的必要操作)

目录

■成功

1.安装Jenkins

2.安装Maven的插件

2.1.安装之前(不会显示创建Maven项目)

2.2.安装插件

2.3.安装之后的效果(可以创建Maven项目了)

2.4.还需配置(调查,保存当前已配置容器为新镜像)

2.5.使用新镜像启动容器(启动时挂载Maven等相关目录)

2.6.配置Maven

2.7.经过上面的【2.6】配置之后【2.4】中的错误信息解除

2.8.尝试使用【mvn】命令执行

2.9.尝试使用github工程编译(随意选择一个公开的GitHub工程)

2.10.【2.9】出错原因解决

2.10.新的错误  timeout=10

2.11.新错误解决

2.12.问题解决_初次运行效果

2.13.★★★不设置顶层pom★★★

3.安装Git插件(已经安装了)

4.其它

4.1.我的服务器(含 Jenkins密码)

4.2.Docker使用

4.3.使用Docker创建Jenkins服务

4.4.使用Jenkins创建Job

4.5.再次重新启动(2024/10/24)

4.6.内存占用

4.7.xxxx

4.8.xxx

5.我所在的地区软件行业状况


====

■成功

==

具体设置看【2.13.★★★不设置顶层pom★★★】

===

===

============

控制台Log

Started by user sxzJenkins
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/TestMaven2
The recommended git tool is: NONE
using credential 1c3ec82c-3839-4203-97a7-858515f55253
 > git rev-parse --resolve-git-dir /var/jenkins_home/workspace/TestMaven2/.git # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url https://github.com/terasoluna-batch/terasoluna-batch.git # timeout=10
Fetching upstream changes from https://github.com/terasoluna-batch/terasoluna-batch.git
 > git --version # timeout=10
 > git --version # 'git version 2.39.2'
using GIT_ASKPASS to set credentials GitHubUser
 > git fetch --tags --force --progress -- https://github.com/terasoluna-batch/terasoluna-batch.git +refs/heads/*:refs/remotes/origin/* # timeout=10
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision e0bd4a05ab9f2f98ed053c6b316064a354e9a35b (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f e0bd4a05ab9f2f98ed053c6b316064a354e9a35b # timeout=10
Commit message: "update to 3.6.4.RELEASE"
 > git rev-list --no-walk e0bd4a05ab9f2f98ed053c6b316064a354e9a35b # timeout=10
Parsing POMs
Established TCP socket on 44183
[terasoluna-commons] $ /opt/java/jdk1.8.0_411/bin/java -Duser.language=UTF-8 -Dfile.encoding=UTF-8 -cp /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.14.jar:/opt/maven/apache-maven-3.9.6/boot/plexus-classworlds-2.7.0.jar:/opt/maven/apache-maven-3.9.6/conf/logging jenkins.maven3.agent.Maven35Main /opt/maven/apache-maven-3.9.6 /var/jenkins_home/war/WEB-INF/lib/remoting-3273.v4cfe589b_fd83.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.14.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.14.jar 44183
Exception in thread "main" java.lang.UnsupportedClassVersionError: hudson/remoting/Launcher has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.findClassInternal(ClassRealm.java:313)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:432)
	at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
	at jenkins.maven3.agent.Maven35Main.main(Maven35Main.java:136)
	at jenkins.maven3.agent.Maven35Main.main(Maven35Main.java:66)
ERROR: ================================================================================
ERROR: Invalid project setup: Connection reset
ERROR: [JENKINS-18403][JENKINS-28294] JDK 'jdk1.8.0_411' not supported to run Maven projects.
ERROR: Maven projects have to be launched with a Java version greater or equal to the minimum version required by the controller.
ERROR: Use the Maven JDK Toolchains (plugin) to build your maven project with an older JDK.
ERROR: Retrying with agent Java and setting compile/test properties to point to /opt/java/jdk1.8.0_411.
ERROR: ================================================================================
Established TCP socket on 35375
[terasoluna-commons] $ /opt/java/openjdk/bin/java -Duser.language=UTF-8 -Dfile.encoding=UTF-8 -cp /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-agent-1.14.jar:/opt/maven/apache-maven-3.9.6/boot/plexus-classworlds-2.7.0.jar:/opt/maven/apache-maven-3.9.6/conf/logging jenkins.maven3.agent.Maven35Main /opt/maven/apache-maven-3.9.6 /var/jenkins_home/war/WEB-INF/lib/remoting-3273.v4cfe589b_fd83.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven35-interceptor-1.14.jar /var/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.14.jar 35375
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven:  -B -f /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/pom.xml -gs /opt/maven/apache-maven-3.9.6/conf/settings.xml -Dfile.encoding=UTF-8 -Dmaven.test.skip=true -Duser.language=UTF-8 -Dmaven.javadoc.skip=true clean package
[INFO] Scanning for projects...
[INFO] 
[INFO] ----------------< jp.terasoluna.fw:terasoluna-commons >-----------------
[INFO] Building terasoluna-commons 3.6.4.RELEASE
[INFO]   from pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- clean:3.2.0:clean (default-clean) @ terasoluna-commons ---
[INFO] Deleting /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target
[INFO] 
[INFO] --- resources:3.3.1:resources (default-resources) @ terasoluna-commons ---
[INFO] skip non existing resourceDirectory /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/src/main/resources
[INFO] 
[INFO] --- compiler:3.1:compile (default-compile) @ terasoluna-commons ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 41 source files to /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/classes
[INFO] 
[INFO] --- resources:3.3.1:testResources (default-testResources) @ terasoluna-commons ---
[INFO] Not copying test resources
[INFO] 
[INFO] --- compiler:3.1:testCompile (default-testCompile) @ terasoluna-commons ---
[INFO] Not compiling test sources
[INFO] 
[INFO] --- surefire:2.17:test (default-test) @ terasoluna-commons ---
[INFO] Tests are skipped.
[INFO] 
[INFO] --- jar:2.5:jar (default-jar) @ terasoluna-commons ---
[INFO] Building jar: /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/terasoluna-commons-3.6.4.RELEASE.jar
[INFO] 
[INFO] --- javadoc:2.10.1:jar (javadoc-jar) @ terasoluna-commons ---
[INFO] Skipping javadoc generation
[INFO] 
[INFO] --- source:2.4:jar-no-fork (attach-sources) @ terasoluna-commons ---
[INFO] Building jar: /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/terasoluna-commons-3.6.4.RELEASE-sources.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  14.422 s
[INFO] Finished at: 2024-11-01T14:10:39Z
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/pom.xml to jp.terasoluna.fw/terasoluna-commons/3.6.4.RELEASE/terasoluna-commons-3.6.4.RELEASE.pom
[JENKINS] Archiving /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/terasoluna-commons-3.6.4.RELEASE.jar to jp.terasoluna.fw/terasoluna-commons/3.6.4.RELEASE/terasoluna-commons-3.6.4.RELEASE.jar
[JENKINS] Archiving /var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/terasoluna-commons-3.6.4.RELEASE-sources.jar to jp.terasoluna.fw/terasoluna-commons/3.6.4.RELEASE/terasoluna-commons-3.6.4.RELEASE-sources.jar
/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/pom.xml is not inside /var/jenkins_home/workspace/TestMaven2/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/; will archive in a separate pass
/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/terasoluna-commons-3.6.4.RELEASE.jar is not inside /var/jenkins_home/workspace/TestMaven2/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/; will archive in a separate pass
/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/target/terasoluna-commons-3.6.4.RELEASE-sources.jar is not inside /var/jenkins_home/workspace/TestMaven2/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/; will archive in a separate pass
channel stopped
Finished: SUCCESS

===

1.安装Jenkins

使用Docker快速创建一个Jenkins服务_docker 制作jenkins给别人使用-CSDN博客

==简单使用

Jenkins 创建一个 job , 用于单独执行脚本_jenkins构建后执行脚本-CSDN博客

2.安装Maven的插件

2.1.安装之前(不会显示创建Maven项目)

2.2.安装插件

===

===

===

2.3.安装之后的效果(可以创建Maven项目了)

2.4.还需配置(调查,保存当前已配置容器为新镜像)

==

===2024/10/25

Maven Version

Jenkins needs to know where your Maven is installed.
Please do so from the tool configuration.

虽然机器安装了Maven,但是Docker容器中,没有安装Maven

xxx

启动容器时,没有挂载Maven,解决方法如下

==

1.停止当前容器

2.把当前容器,重新保存为镜像

3.使用新镜像,重新创建容器,创建容器是,挂载自己机器上的MVN目录

=======

上面操作参照【下面】文章

Docker命令_各种参数简介(run、v、rm、-w、-u、-e)_docker -e-CSDN博客

==

========

2.5.使用新镜像启动容器(启动时挂载Maven等相关目录)

重新启命令

docker run \
-u root \
-d --name jenkins_sxz_2024_1027 \
--restart=always \
-p 8001:8080 \
-p 50000:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/jenkins_home:/var/jenkins_home \
-v /opt/maven/apache-maven-3.9.6:/opt/maven/apache-maven-3.9.6 \
-v /opt/java/jdk1.8.0_411:/opt/java/jdk1.8.0_411 \
-v /opt/mavenRepository:/opt/mavenRepository \

jenkins/jenkins_sxz_2024_1026

===

xxx

2.6.配置Maven

==

==使用【2.5】中挂载的Maven,JDK等目录进行配置

===

xxx

2.7.经过上面的【2.6】配置之后【2.4】中的错误信息解除

xxx

xxx在上图的【Pre Steps】中选择

===选择之后,选择这里的Maven配置,可以看到【2.6】中配置的Maven

xxx

2.8.尝试使用【mvn】命令执行

配置

正常情况下,【目标】应该写的是Git的地址!!!

效果(maven命令已经正常执行,只剩编译对象工程)

xxx和服务器端运行效果一致

xxx

2.9.尝试使用github工程编译(随意选择一个公开的GitHub工程)

xxx

https://github.com/terasoluna-batch/terasoluna-batch/tree/master/terasoluna-batch

xxx

配置

工程没有正常下载下来,即使写了命令 clean install 也无需

=======

效果

==

===

==

2.10.【2.9】出错原因解决

出错

原因:

配置完全错误,git的URL,应该写在下面的位置

【目标】空着就行

===【Trigger】

==

2.10.新的错误  timeout=10

新的错误  timeout=10

 git config remote.origin.url https://github.com/terasoluna-batch/terasoluna-batch/ # timeout=10

2.11.新错误解决

URL后面要加上.git------无效

sshttps://github.com/terasoluna-batch/terasoluna-batch.git

修改timeout时间 ---无效

指定认证方式

也还是错误,不过代码应该已经取得了,应该是mvn命令时的错误

====

Started by user sxzJenkins
Running as SYSTEM
Building in workspace /var/jenkins_home/workspace/TestMaven
The recommended git tool is: NONE
using credential 1c3ec82c-3839-4203-97a7-858515f55253
 > git rev-parse --resolve-git-dir /var/jenkins_home/workspace/TestMaven/.git # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url GitHub - terasoluna-batch/terasoluna-batch: TERASOLUNA Batch Framework for Java # timeout=10
Fetching upstream changes from GitHub - terasoluna-batch/terasoluna-batch: TERASOLUNA Batch Framework for Java
 > git --version # timeout=10
 > git --version # 'git version 2.39.2'
using GIT_ASKPASS to set credentials GitHubUser
 > git fetch --no-tags --force --progress -- GitHub - terasoluna-batch/terasoluna-batch: TERASOLUNA Batch Framework for Java +refs/heads/*:refs/remotes/origin/* # timeout=25
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision e0bd4a05ab9f2f98ed053c6b316064a354e9a35b (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f e0bd4a05ab9f2f98ed053c6b316064a354e9a35b # timeout=10
Commit message: "update to 3.6.4.RELEASE"
First time build. Skipping changelog.
[TestMaven] $ /opt/maven/apache-maven-3.9.6/bin/mvn -s /opt/maven/apache-maven-3.9.6/conf/settings.xml -gs /opt/maven/apache-maven-3.9.6/conf/settings.xml
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.279 s
[INFO] Finished at: 2024-10-30T13:03:08Z
[INFO] ------------------------------------------------------------------------
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] NoGoalSpecifiedException - Apache Maven - Apache Software Foundation
Build step 'Invoke top-level Maven targets' marked build as failure
Finished: FAILURE

查看工作空间,果然,代码已经下载下来了

===

2.12.问题解决_初次运行效果

问题解决

指定【1:目标】(Project的目录)

【2:pom文件】,就在这个工程下面

===

===

对应关系(还需调整)

这么写找不到工程目录。。。

[INFO] Scanning for projects...

===

再次调整

clean
package

==

/var/jenkins_home/workspace/TestMaven/terasoluna-commons/pom.xml

===

maven.test.skip=true
maven.javadoc.skip=true
user.language=UTF-8
file.encoding=UTF-8

===

===

初次运行效果

[TestMaven] $ /opt/maven/apache-maven-3.9.6/bin/mvn -f /var/jenkins_home/workspace/TestMaven/terasoluna-commons/pom.xml -gs /opt/maven/apache-maven-3.9.6/conf/settings.xml -Dfile.encoding=UTF-8 -Dmaven.test.skip=true -Duser.language=UTF-8 -Dmaven.javadoc.skip=true clean package

===

xxx

2.13.★★★不设置顶层pom★★★

上面2.12中设置了顶层POM,我们可以不设置顶层pom

==

/var/jenkins_home/workspace/TestMaven2/terasoluna-commons/pom.xml

==

-Dfile.encoding=UTF-8 -Dmaven.test.skip=true -Duser.language=UTF-8 -Dmaven.javadoc.skip=true clean package

==

===

xxx

===

==

3.安装Git插件(已经安装了)

==

===

4.其它

4.1.我的服务器(含 Jenkins密码)

我的服务器-CSDN博客

4.2.Docker使用

Docker命令_各种参数简介(run、v、rm、-w、-u、-e)_docker -e-CSDN博客

4.3.使用Docker创建Jenkins服务

使用Docker快速创建一个Jenkins服务_docker 制作jenkins给别人使用-CSDN博客

4.4.使用Jenkins创建Job

Jenkins 创建一个 job , 用于单独执行脚本_jenkins job-CSDN博客

==

4.5.再次重新启动(2024/10/24)

===

root@ubuntu:/home/ubuntu/DATA# docker ps -a
CONTAINER ID   IMAGE               COMMAND                  CREATED        STATUS                      PORTS                                       NAMES
5b349803e372   jellyfin/jellyfin   "/jellyfin/jellyfin"     5 months ago   Up 3 weeks (healthy)        0.0.0.0:8082->8096/tcp, :::8082->8096/tcp   hopeful_lichterman
25674f207618   wordpress:latest    "docker-entrypoint.s…"   6 months ago   Exited (0) 5 months ago                                                 my-wordpress
69a879a73da3   jenkins/jenkins     "/usr/bin/tini -- /u…"   6 months ago   Exited (143) 2 months ago                                               jenkins
root@ubuntu:/home/ubuntu/DATA#
root@ubuntu:/home/ubuntu/DATA#

===

root@ubuntu:/home/ubuntu/DATA# docker start 69a879a73da3
69a879a73da3
root@ubuntu:/home/ubuntu/DATA#

===

===

Please wait while Jenkins is getting ready to work ...

Your browser will reload automatically when Jenkins is ready.

===

===

4.6.内存占用

==重启之后,直接只剩80%以上  ⇒ 60%。 占了总内存(8G)的20%以上

xxx

4.7.xxxx

xxx

4.8.xxx

xxx

5.我所在的地区软件行业状况

金兰:2024年05月15日  

IBM:2024年08月26日  

思科(CISCO):2024年09月18日  

富达国际:2024年10月21日  

。。。。。。

===

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值