美文网首页
Jenkins(七)---jenkins项目编译测试发布由mav

Jenkins(七)---jenkins项目编译测试发布由mav

作者: 公子小白123 | 来源:发表于2019-11-15 08:58 被阅读0次

    一、使用maven编译

    (maven编译  与 测试 test 和打包 package 和 部署 install 类似,不再赘述 )

    在项目的配置页面中有个maven配置:里面只有一个clean   就是清除以前的构建信息:

    之前我使用了clean   package来编译打包:结果如下图:

    --------------------------------------------------------

    当执行完只有clean的时候,之前构建的信息就被删除了:如下图

    ------------------------------------------------------

    附注解:

    /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/opt/jenkins_tomcat6    表示jenkins工作目录

    jobs/quick4j_demo        表示jenkins管理quick4j_demo项目的目录

    workspace                表示maven等插件的工作目录

    --------------------------------------------------------------------------------------------------

    【jenkins项目中使用maven扩展】

    这里的Goals  就是用maven 编译要用的命令如下图中所示:

    jenkins使用maven编译以invoke top-level Maven targets中的Goals为准:

    ---------------------------------------------------------------------------------------------

    二、部署到远程主机的tomcat中

         重点:两台机器要ssh远程root无密码登录。

    再回到Jenkins(二)---jenkins之Git+maven+jdk+tomcat中的全局图:

    server A --->   jenkins主机ip:192.168.100.119

    server B --->  远程部署主机IP:192.168.100.118

    下面是编译过程日志

    紫色字体:jenkins使用git从gitlab仓库http://192.168.100.200/clq/quick4j.git拉取代码

    黑色字体:jenkins使用maven编译测试发布web工程到本地 /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war

    蓝色字体:jenkins使用ssh将本地打包好的war包传送到远程服务器的/opt/jenkins中

    红色字体:jenkins远程执行远程服务器上的脚本,检查tomcat是否开启,如状态为开启,则关闭后,删除tomcat中原来的web项目包,再从/opt/jenkins中

                  拷贝刚打包好的web项目war包到tomcat中,启动tomcat。

    Started by user admin

    Building in workspace /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace          #jenkins本机的工作目录

    > /usr/bin/git rev-parse --is-inside-work-tree # timeout=10

    Fetching changes from the remote Git repository

    > /usr/bin/git config remote.origin.url http://192.168.100.200/clq/quick4j.git # timeout=10

    Fetching upstream changes from http://192.168.100.200/clq/quick4j.git

    > /usr/bin/git --version # timeout=10

    using .gitcredentials to set credentials

    > /usr/bin/git config --local credential.username clq # timeout=10

    > /usr/bin/git config --local credential.helper store --file=/opt/tomcat6/apache-tomcat-6.0.45/temp/git4880643529884290174.credentials # timeout=10

    > /usr/bin/git -c core.askpass=true fetch --tags --progress http://192.168.100.200/clq/quick4j.git +refs/heads/*:refs/remotes/origin/*

    > /usr/bin/git config --local --remove-section credential # timeout=10

    > /usr/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10

    > /usr/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10

    Checking out Revision b123b099e8e72d7e467ab780ae28726a1c866797 (refs/remotes/origin/master)

    > /usr/bin/git config core.sparsecheckout # timeout=10

    > /usr/bin/git checkout -f b123b099e8e72d7e467ab780ae28726a1c866797

    > /usr/bin/git rev-list b123b099e8e72d7e467ab780ae28726a1c866797 # timeout=10

    [workspace] $ /opt/apache-maven-3.3.9/bin/mvn -Dmaven.repo.local=/opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/.repository clean

    [INFO] Scanning for projects...

    [INFO]                                                                       

    [INFO] ------------------------------------------------------------------------

    [INFO] Building quick4j App 1.0.0

    [INFO] ------------------------------------------------------------------------

    [INFO]

    [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ quick4j ---

    [INFO] Deleting /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time: 0.299 s

    [INFO] Finished at: 2016-03-29T13:18:06+08:00

    [INFO] Final Memory: 7M/238M

    [INFO] ------------------------------------------------------------------------

    [workspace] $ /bin/sh -xe /opt/tomcat6/apache-tomcat-6.0.45/temp/hudson1223364716445353332.sh

    Parsing POMs

    [workspace] $ /opt/JDK/bin/java -cp /opt/jenkins_tomcat6/plugins/maven-plugin/WEB-INF/lib/maven31-agent-1.5.jar:/opt/apache-maven-3.3.9

    /boot/plexus-classworlds-2.5.2.jar:/opt/apache-maven-3.3.9/conf/logging jenkins.maven3.agent.Maven31Main

    /opt/apache-maven-3.3.9 /opt/tomcat6/apache-tomcat-6.0.45/webapps/jenkins/WEB-INF/lib/remoting-2.51.jar

    /opt/jenkins_tomcat6/plugins/maven-plugin/WEB-INF/lib/maven31-interceptor-1.5.jar

    /opt/jenkins_tomcat6/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.5.jar 36966

    <===[JENKINS REMOTING CAPACITY]===>channel started

    Executing Maven:  -B -f /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/pom.xml

    -Dmaven.repo.local=/opt/jenkins_tomcat6/maven-repositories/1 -s /opt/apache-maven-3.3.9/conf/settings.xml

    -gs /opt/apache-maven-3.3.9/conf/settings.xml clean package

    [INFO] Scanning for projects...

    [INFO]                                                                       

    [INFO] ------------------------------------------------------------------------

    [INFO] Building quick4j App 1.0.0

    [INFO] ------------------------------------------------------------------------

    [INFO]

    [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ quick4j ---

    [INFO]

    [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ quick4j ---

    [INFO] Using 'UTF-8' encoding to copy filtered resources.

    [INFO] Copying 9 resources

    [INFO] Copying 3 resources

    [INFO]

    [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ quick4j ---

    [INFO] Changes detected - recompiling the module!

    [INFO] Compiling 62 source files to /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/classes

    [INFO]

    [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ quick4j ---

    [INFO] Using 'UTF-8' encoding to copy filtered resources.

    [INFO] Copying 3 resources

    [INFO]

    [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ quick4j ---

    [INFO] Changes detected - recompiling the module!

    [INFO] Compiling 5 source files to /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/test-classes

    [INFO]

    [INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ quick4j ---

    [INFO] Tests are skipped.

    [INFO]

    [INFO] --- maven-war-plugin:2.2:war (default-war) @ quick4j ---

    [INFO] Packaging webapp

    [INFO] Assembling webapp [quick4j] in [/opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j]

    [INFO] Processing war project

    [INFO] Copying webapp resources [/opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/src/main/webapp]

    [INFO] Webapp assembled in [383 msecs]

    [INFO] Building war: /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war              #发布构建好的web工程到本机工作目录下

    [INFO] WEB-INF/web.xml already added, skipping

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time: 6.611 s

    [INFO] Finished at: 2016-03-29T13:18:15+08:00

    [INFO] Final Memory: 28M/438M

    [INFO] ------------------------------------------------------------------------

    [JENKINS] Archiving /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/pom.xml to com.eliteams/quick4j/1.0.0/quick4j-1.0.0.pom

    [JENKINS] Archiving /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war to com.eliteams/quick4j/1.0.0/quick4j-1.0.0.war

    SSH: Connecting from host [Local-Machine-1]

    SSH: Connecting with configuration [192.168.100.118-ssh] ...

    SSH: Creating session: username [root], hostname [192.168.100.118], port [22]

    SSH: Connecting session ...

    channel stopped

    SSH: Connected

    SSH: Opening SFTP channel ...

    SSH: SFTP channel open

    SSH: Connecting SFTP channel ...

    SSH: Connected

    SSH: cd [/opt/jenkins]

    SSH: OK

    SSH: cd [/opt/jenkins]

    SSH: OK

    SSH: put [quick4j.war]

    SSH: OK

    SSH: Opening exec channel ...

    SSH: EXEC: channel open

    SSH: EXEC: STDOUT/STDERR from command [sh /opt/auto_deploy.sh] ...

    SSH: EXEC: connected

    **********************************  [2016-03-29]13:18:23 *************************************

    updating server  environment start

    updating server  environment  end

    check tomcat status...

    tomcat is running....port is 9090

    shutdown tomcat.....

    >>>>>>>shutdown tomcat begin<<<<<<<<

    Using CATALINA_BASE:  /opt/tomcat6/apache-tomcat-6.0.45

    Using CATALINA_HOME:  /opt/tomcat6/apache-tomcat-6.0.45

    Using CATALINA_TMPDIR: /opt/tomcat6/apache-tomcat-6.0.45/temp

    Using JRE_HOME:        /app/java/jdk1.8.0_11/jre

    Using CLASSPATH:      /opt/tomcat6/apache-tomcat-6.0.45/bin/bootstrap.jar

    >>>>>>>shutdown tomcat end <<<<<<<<

    --------------  begin  transfer  war package to tomcat webapps -------------------

    Find /opt/jenkins exist war package quick4j.war

    deleteing old  package quick4j.war in /opt/tomcat6/apache-tomcat-6.0.45/webapps/

    start  transfer quick4j.war to /opt/tomcat6/apache-tomcat-6.0.45/webapps/

    --------------  transfer  war package to tomcat webapps  end -------------------

    >>>>>>>  rebooting  tomcat begin <<<<<<<<

    Using CATALINA_BASE:  /opt/tomcat6/apache-tomcat-6.0.45

    Using CATALINA_HOME:  /opt/tomcat6/apache-tomcat-6.0.45

    Using CATALINA_TMPDIR: /opt/tomcat6/apache-tomcat-6.0.45/temp

    Using JRE_HOME:        /app/java/jdk1.8.0_11/jre

    Using CLASSPATH:      /opt/tomcat6/apache-tomcat-6.0.45/bin/bootstrap.jar

    >>>>>>>  rebooting  tomcat end <<<<<<<<

    the log you can read in canalina.out

    ************************ deploy war package into container Successlly  **********************************

    SSH: EXEC: completed after 11,406 ms

    SSH: Disconnecting configuration [192.168.100.118-ssh] ...

    SSH: Transferred 1 file(s)

    Finished: SUCCESS

    相关文章

      网友评论

          本文标题:Jenkins(七)---jenkins项目编译测试发布由mav

          本文链接:https://www.haomeiwen.com/subject/yhsvvctx.html