您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页手把手教你搭建Jenkins实现自动化部署Jar

手把手教你搭建Jenkins实现自动化部署Jar

来源:欧得旅游网
⼿把⼿教你搭建Jenkins实现⾃动化部署Jar

centeros7 安装配置环境jdk1.8

1.先卸载centeros⾃带jdk

rpm -qa | grep openjdk

查询出来的⾃带的openjdk2.删除

rpm -e --nodeps

3.再次查询

rpm -qa | grep jdk

4.在usr/local创建⽂件夹

cd /usr/localmkdir java

5.将jdk1.8放到刚刚创建的⽂件中

cd /usr/local/java

⽤xftp上传后解压

tar -zxvf jdk-8u181-linux-x.tar.gz

6.进⼊刚刚解压的⽂件夹

cd jdk1.8.0_181/

pwd #(这⼀步记录jdk1.8的路径,⼀会配置环境⽤)

7.配置环境

vim /etc/profile

按i插⼊下⾯路径

export JAVA_HOME=/usr/local/java/jdk1.8.0_181

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin

按Esc后:wq退出后

source /etc/profile

8.查看是否成功

java -version

maven 环境配置

1.在/usr/local 下创建maven⽂件夹

cd /usr/localmkdir maven

2.进去新建的⽂件夹

cd maven

上传 apache-maven-3.5.4-bin.zip

3.解压

unzip apache-maven-3.5.4-bin.zip

4.进⼊解压的⽂件夹

cd apache-maven-3.5.4/pwd #(记录下这个路径,⼀会配置环境⽤到)

5.配置环境

vim /etc/profile

按i插⼊下⾯

export MAVEN_HOME=/usr/local/maven/apache-maven-3.5.4export PATH=$PATH:$MAVEN_HOME/bin

按Esc后:wq保存后

source /etc/profile

6.查看是否成功

mvn -v

centeros7安装git

yum install git

⼀路下来y即可查看是否是成功

git --version

查看git命令地址

which -a git

到此环境已经搭建好,开始对maven私服,gitlab搭建。

gitlab搭建

1.新建 /etc/yum.repos.d/gitlab-ce.repo

vim /etc/yum.repos.d/gitlab-ce.repo

后按下 i 键 插⼊下⾯内容

[gitlab-ce]

name=Gitlab CE Repository

baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1

2.

sudo yum makecache

sudo yum install gitlab-ce

#(安装最新的) 或 sudo yum install gitlab-ce-12.0.4 #(指定版本号)

3.配置 external_url

vim /etc/gitlab/gitlab.rb

修改external_url地址 为: http://本机地址:端⼝号/本机地址查看:ifconfig

查看端⼝号运⾏的应⽤ lsof -i:端⼝号4.

gitlab-ctl reconfigure

5.

gitlab-ctl restart #启动

gitlab-ctl start|stop|status|restart # 其他操作

6.访问

http://本机地址:端⼝号/

常见问题 gitlab502 : 这个是端⼝被占⽤确保端⼝不被占⽤后从4开始继续来⼀遍

centeros7 搭建maven私服

下载nexus3.x:

https://www.sonatype.com/download-oss-sonatype1.在/usr/local下创建nexus⽂件

cd /usr/localmkdir nexuscd nexus

2.上传刚刚下载的nexus压缩包并解压

tar -zxvf nexus-3.18.1-01-unix.tar.gz

3.

cd nexus-3.18.1-01/bin/ls

4.启动

./nexus run &

5.开启远程访问端⼝

firewall-cmd --zone=public --add-port=8081/tcp --permanentfirewall-cmd --reload

浏览器访问

6.设置开机⾃启动1.创建服务

vim /usr/lib/systemd/system/nexus.service

2.按i将下⾯复制进去

[Unit]

Description=nexus service

[Service]

Type=forking LimitNOFILE=65536 #警告处理

ExecStart=/usr/local/nexus/nexus-3.7.1-02/bin/nexus startExecReload=/usr/local/nexus/nexus-3.7.1-02/bin/nexus restartExecStop=/usr/local/nexus/nexus-3.7.1-02/bin/nexus stopRestart=on-failure

[Install]

WantedBy=multi-user.target

3.将服务加⼊开机启动

systemctl enable nexus.service

4.重新加载配置⽂件

systemctl daemon-reload

7.运⾏⽤户为root (编辑nexus bin下的nexus.rc)

cd /usr/local/nexus/nexus-3.18.1-01/bin/vim nexus.rc

内容改为:

run_as_user=\"root\"

8.修改nexus3启动时要使⽤的jdk版本

cd /usr/local/nexus/nexus-3.18.1-01/bin/vim nexus

按i将下⾯添加进去

INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/java/jdk1.8.0_181

java_home地址可以⽤echo $JAVA_HOME 输出 (前提是/etc/profile有export)9.修改nexus3默认端⼝⽂件在nexus-xx

etc/nexus-default.properties

这⾥已经搭建好了,下⾯是deploy到私服和从私服上下载下来测试1.创建facade 上传到私服在/usr下创建projects

cd /usr

mkdir projects

将改zip解压到projects进⼊到pom.xml所在⽬录

mvn deploy -Dmaven.test.skip=true -U

已经上传成功

这⾥要把Allow anonymous users to access the server(允许匿名⽤户访问服务器)因为本地maven没有配置⽤户

也可以⽤idea maven命令depoly

xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"

xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"> 4.0.0

com.netease

maven_test_demo 1.0.0-SNAPSHOT jar

1.8

UTF-8 3.6.1 192.168.20.143:8081

nexus-releases

Nexus Private Release Repository

http://${nexus.host}/repository/maven-releases

nexus-snapshots

Nexus Private Snapshot Repository

http://${nexus.host}/repository/maven-snapshots

${project.artifactId}-${project.version}

org.apache.maven.plugins maven-compiler-plugin

${maven-compiler-plugin.version}

${java.version} ${java.version}

${project.build.sourceEncoding}

settings.xml中servers中定义的id⼀致

在settings 添加下⾯镜像

Central

http://repo1.maven.org/maven2 central

最后settings⽂件。到这⼉jar包已经可以发布到私服上去了再看怎么拉取的

maven_demo_impl项⽬的pom.xml

xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"

xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"> 4.0.0

com.netease

maven_demo_impl 1.0-SNAPSHOT

org.springframework.boot spring-boot-starter-parent 2.0.5.RELEASE

1.8

UTF-8 3.6.1 192.168.20.143:8081

Finchley.SR1

nexus-aliyun-repo

nexus aliyun repo

http://maven.aliyun.com/nexus/content/groups/public

maven-public

maven public

http://192.168.20.143:8081/repository/maven-public/

org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom

import

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

com.netease

maven_test_demo 1.0.0-SNAPSHOT

org.springframework.boot spring-boot-maven-plugin

配置完成后就会⾃动去私服下载jar了

jenkins搭建

1.查看环境版本

java -version #没有的话查看上⽂jdk1.8安装mvn -v #没有的话查看上⽂maven安装git --version # 没有的话查看上⽂git安装

2.安装jenkenis添加Jenkins源:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.reposudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

3.安装

yum install jenkins

4.启动

sudo service jenkins start

5.访问

http://ip:8080/ #jenkenis默认是8080

第⼀次密码:

vim /var/lib/jenkins/secrets/initialAdminPassword点安装推荐的插件(后⾯的选择安装不知道安装什么)修改jenkins端⼝

vim /etc/sysconfig/jenkins

将JENKINS_PORT=\"8080\" ===> 修改成未占⽤想修改的端⼝ JENKINS_PORT=\"80\"重启服务

service jenkins restart

遇到的问题:重装了JDK, java地址变了

启动jenkins报错: Job for jenkins.service failed because the control process exited with error code. See \"systemctl status jenkins.service\" and \"journalctl -xe\" for details.按提⽰输⼊systemctl status jenkins.service解决⽅法:

1> 查看当前Java的环境变量

echo $JAVA_HOME

2> 复制Java的环境变量地址, 编辑/etc/init.d/jenkins⽂件, 指定位置添加该地址, 后缀附上/bin/java

vim /etc/init.d/jenkins

重点是配置Jenkins:

1.配置全局jdk maven git

点Manage Jenkins(系统管理) --> Global Tool Configuaration(全局⼯具配置)1.maven配置:配置settings.xml地址

2.配置jdk地址 (可以⽤echo $JAVA_HOME获取)

3.git配置地址 可以⽤(which -a git查看)

4.maven配置地址

2.新建任务

3.配置任务

1.配置源码管理 下⾯version是gitlab的版本号

Repository URL:访问的仓库名称

Credentials:访问账⽬密码或者ssh证书

Branch Specifier (blank for ‘any’):访问的分⽀,可以多个源码库浏览器:选择源码库服务器URL:源码仓库url

Version:源码库服务器版本号2.配置构建

clean compile package install deploy -Dmaven.test.skip=true -U #将jar发布

然后应⽤,配置完成!

3.在my view(我的视图) -> 找到新建的项⽬ --> 点击build now(⽴即构建)

在构建历史中点击刚刚的构建如下图: #1 : 是构建的id ,控制台输出: 可以看到具体的输出

下⾯是输⼊⽇志 可以看到以前拉取到指定的项⽬master分⽀

Started by user rootRunning as SYSTEM

Building in workspace /var/lib/jenkins/workspace/first

using credential fad2813a-c4-4386-ae16-11d6e6d349d4Cloning the remote Git repository

Cloning repository http://192.168.20.137:9029/root/wx-ssm.git

> /usr/local/git/bin/git init /var/lib/jenkins/workspace/first # timeout=10

Fetching upstream changes from http://192.168.20.137:9029/root/wx-ssm.git> /usr/local/git/bin/git --version # timeout=10using GIT_ASKPASS to set credentials

> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.137:9029/root/wx-ssm.git +refs/heads/*:refs/remotes/origin/*> /usr/local/git/bin/git config remote.origin.url http://192.168.20.137:9029/root/wx-ssm.git # timeout=10> /usr/local/git/bin/git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10> /usr/local/git/bin/git config remote.origin.url http://192.168.20.137:9029/root/wx-ssm.git # timeout=10Fetching upstream changes from http://192.168.20.137:9029/root/wx-ssm.gitusing GIT_ASKPASS to set credentials

> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.137:9029/root/wx-ssm.git +refs/heads/*:refs/remotes/origin/*> /usr/local/git/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10

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

Checking out Revision 47d13c3ca0bc12fc0465c3e4c582b2c2276eb6 (refs/remotes/origin/master)> /usr/local/git/bin/git config core.sparsecheckout # timeout=10

> /usr/local/git/bin/git checkout -f 47d13c3ca0bc12fc0465c3e4c582b2c2276eb6Commit message: \"更新 pom.xml\"First time build. Skipping changelog.

[first] $ /project/java/maven/apache-maven-3.6.1/bin/mvn -s /project/java/maven/apache-maven-3.6.1/conf/settings.xml -gs /project/java/maven/apache-maven-3.6.1/conf/settings.xml clean package[INFO] Scanning for projects...[WARNING]

[WARNING] Some problems were encountered while building the effective model for com.guojin:gjmetal-wx-ssm:jar:1.0.0.1-SNAPSHOT

[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.apache.httpcomponents:httpclient:jar -> version (?) vs 4.5.6 @ line 155, column 21[WARNING]

[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.[WARNING]

[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.[WARNING][INFO]

[INFO] ---------------------< com.guojin:gjmetal-wx-ssm >----------------------[INFO] Building gjmetal-wx-ssm 1.0.0.1-SNAPSHOT

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

[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ gjmetal-wx-ssm ---[INFO]

[INFO] --- jacoco-maven-plugin:0.7.9:prepare-agent (pre-test) @ gjmetal-wx-ssm ---[INFO] argLine set to -javaagent:/var/lib/jenkins/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/var/lib/jenkins/workspace/first/target/jacoco.exec,includes=com.gjmetal.*[INFO]

[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ gjmetal-wx-ssm ---[INFO] Using 'UTF-8' encoding to copy filtered resources.[INFO] Copying 1 resource[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ gjmetal-wx-ssm ---[INFO] Changes detected - recompiling the module!

[INFO] Compiling 27 source files to /var/lib/jenkins/workspace/first/target/classes[INFO] -------------------------------------------------------------[ERROR] COMPILATION ERROR :

[INFO] -------------------------------------------------------------[ERROR] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[4,40] 程序包org.fuelteam.springboot.swagger2不存在[ERROR] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[21,2] 找不到符号 符号: 类 EnableSwagger2[INFO] 2 errors

[INFO] -------------------------------------------------------------[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------[INFO] Total time: 9.183 s

[INFO] Finished at: 2019-08-23T17:05:09+08:00

[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project gjmetal-wx-ssm: Compilation failure: Compilation failure:[ERROR] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[4,40] 程序包org.fuelteam.springboot.swagger2不存在[ERROR] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[21,2] 找不到符号[ERROR] 符号: 类 EnableSwagger2[ERROR] -> [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] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureExceptionBuild step 'Invoke top-level Maven targets' marked build as failureFinished: FAILURE

上⾯报错是项⽬问题,可以看到已经拉取到项⽬了。所以要保证项⽬的正确性。

下⾯是正确的两个项⽬运⾏实例

在搭建好gitlab nexus jenkins后实现⾃动发jar到私服及启动jar项⽬

背景: gitlab nexus jenkins都已经完成了1.从gitlab下载项⽬后发布jar到私服重新配置gitlab地址:

配置maven命令:

clean compile package install deploy -Dmaven.test.skip=true -U

点击build now 然后看控制台输出如下

Started by user rootRunning as SYSTEM

Building in workspace /var/lib/jenkins/workspace/maven_homeusing credential fad2813a-c4-4386-ae16-11d6e6d349d4

> /usr/local/git/bin/git rev-parse --is-inside-work-tree # timeout=10Fetching changes from the remote Git repository

> /usr/local/git/bin/git config remote.origin.url http://192.168.20.143:8083/root/maven_demo.git # timeout=10Fetching upstream changes from http://192.168.20.143:8083/root/maven_demo.git> /usr/local/git/bin/git --version # timeout=10using GIT_ASKPASS to set credentials

> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.143:8083/root/maven_demo.git +refs/heads/*:refs/remotes/origin/*> /usr/local/git/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10

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

Checking out Revision a26adc740d331eabe5b0fb2a46b372dbf6673d2c (refs/remotes/origin/master)> /usr/local/git/bin/git config core.sparsecheckout # timeout=10

> /usr/local/git/bin/git checkout -f a26adc740d331eabe5b0fb2a46b372dbf6673d2cCommit message: \"Update pom.xml\"

> /usr/local/git/bin/git rev-list --no-walk a26adc740d331eabe5b0fb2a46b372dbf6673d2c # timeout=10

[maven_home] $ /project/java/maven/apache-maven-3.6.1/bin/mvn -s /project/java/maven/apache-maven-3.6.1/conf/settings.xml -gs /project/java/maven/apache-maven-3.6.1/conf/settings.xml clean compile package install deploy -Dmaven.test.[INFO] Scanning for projects...[INFO]

[INFO] --------------------< com.netease:maven_test_demo >---------------------[INFO] Building maven_test_demo 1.0.0-SNAPSHOT[INFO] --------------------------------[ jar ]---------------------------------[INFO]

[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven_test_demo ---[INFO] Deleting /var/lib/jenkins/workspace/maven_home/target[INFO]

[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven_test_demo ---[INFO] Using 'UTF-8' encoding to copy filtered resources.

[INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/maven_home/src/main/resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ maven_test_demo ---[INFO] Changes detected - recompiling the module!

[INFO] Compiling 1 source file to /var/lib/jenkins/workspace/maven_home/target/classes[INFO]

[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven_test_demo ---[INFO] Using 'UTF-8' encoding to copy filtered resources.

[INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/maven_home/src/main/resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ maven_test_demo ---[INFO] Nothing to compile - all classes are up to date[INFO]

[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven_test_demo ---[INFO] Not copying test resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:testCompile (default-testCompile) @ maven_test_demo ---[INFO] Not compiling test sources[INFO]

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ maven_test_demo ---[INFO] Tests are skipped.[INFO]

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven_test_demo ---

[INFO] Building jar: /var/lib/jenkins/workspace/maven_home/target/maven_test_demo-1.0.0-SNAPSHOT.jar[INFO]

[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven_test_demo ---[INFO] Using 'UTF-8' encoding to copy filtered resources.

[INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/maven_home/src/main/resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ maven_test_demo ---[INFO] Nothing to compile - all classes are up to date[INFO]

[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven_test_demo ---[INFO] Not copying test resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:testCompile (default-testCompile) @ maven_test_demo ---[INFO] Not compiling test sources[INFO]

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ maven_test_demo ---[INFO] Tests are skipped.[INFO]

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven_test_demo ---[INFO]

[INFO] --- maven-install-plugin:2.4:install (default-install) @ maven_test_demo ---[INFO] Installing /var/lib/jenkins/workspace/maven_home/target/maven_test_demo-1.0.0-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.jar[INFO] Installing /var/lib/jenkins/workspace/maven_home/pom.xml to /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.pom[INFO]

[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven_test_demo ---[INFO] Using 'UTF-8' encoding to copy filtered resources.

[INFO] skip non existing resourceDirectory /var/lib/jenkins/workspace/maven_home/src/main/resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ maven_test_demo ---[INFO] Nothing to compile - all classes are up to date[INFO]

[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven_test_demo ---[INFO] Not copying test resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:testCompile (default-testCompile) @ maven_test_demo ---[INFO] Not compiling test sources[INFO]

[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ maven_test_demo ---[INFO] Tests are skipped.[INFO]

[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven_test_demo ---[INFO]

[INFO] --- maven-install-plugin:2.4:install (default-install) @ maven_test_demo ---[INFO] Installing /var/lib/jenkins/workspace/maven_home/target/maven_test_demo-1.0.0-SNAPSHOT.jar to /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.jar[INFO] Installing /var/lib/jenkins/workspace/maven_home/pom.xml to /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.pom[INFO]

[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ maven_test_demo ---Downloading from nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xmlProgress (1): 776 B

Downloaded from nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml (776 B at 6.5 kB/s)Uploading to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jarProgress (1): 2.6 kB

Uploaded to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jar (2.6 kB at 13 kB/s)Uploading to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pomProgress (1): 2.1 kB

Uploaded to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom (2.1 kB at 19 kB/s)Downloading from nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xmlProgress (1): 286 B

Downloaded from nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xml (286 B at 11 kB/s)Uploading to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xmlProgress (1): 776 B

Uploaded to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml (776 B at 4.6 kB/s)Uploading to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xmlProgress (1): 286 B

Uploaded to nexus-snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xml (286 B at 2.5 kB/s)[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------[INFO] Total time: 3.0 s

[INFO] Finished at: 2019-08-27T14:24:47+08:00

[INFO] ------------------------------------------------------------------------Finished: SUCCESS

2.将运⾏的jar发布到指定的机器

确保jenkins安装了Publish Over SSH插件 Manage Jenkins -> Manage Plugins -> 搜索ssh

然后配置ssh

配置后点击Test Configuration 出现success

配置完成后新建Item(项⽬)只是多加了⼀个构建后(注意前⾯的配置要想要的改 : 项⽬的git地址)

#最后⼀个执⾏的脚本放到的位置是/projects/scriptsmkdir scriptsvim run.sh

#按i将下⾯内容复制进去Project_name=$1Port_no=$2

#echo $Project_name#echo $Port_no

. /etc/profile

# 进⼊到项⽬

cd /projects/$Project_name

# 找到原进程,kill

pid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')kill -9 $pid

#启动jar

nohup java -jar $Project_name-1.0-SNAPSHOT.jar --server.port=$Port_no -server -Xmx1000m -Xms1000m -Xmn700m -XX:+UseParallelGC &echo \"starting service...\"sleep 20

#根据重启后是否有当前应⽤判断启动是否成功

pid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')#echo $pid

if [ -z $pid ];then echo \"启动失败\" exit 1else

echo $Project_name : $pid \"SUCCESS\"fi

现在⽴即构建 查看控制台输出

Started by user rootRunning as SYSTEM

Building in workspace /var/lib/jenkins/workspace/maven_demo_implusing credential fad2813a-c4-4386-ae16-11d6e6d349d4

> /usr/local/git/bin/git rev-parse --is-inside-work-tree # timeout=10Fetching changes from the remote Git repository

> /usr/local/git/bin/git config remote.origin.url http://192.168.20.143:8083/root/maven_demo_impl.git # timeout=10Fetching upstream changes from http://192.168.20.143:8083/root/maven_demo_impl.git> /usr/local/git/bin/git --version # timeout=10using GIT_ASKPASS to set credentials

> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.143:8083/root/maven_demo_impl.git +refs/heads/*:refs/remotes/origin/*Seen branch in repository origin/masterSeen 1 remote branch

> /usr/local/git/bin/git show-ref --tags -d # timeout=10

Checking out Revision bf0f9bd981c053359167a0e46e517f4f936c8c98 (origin/master)> /usr/local/git/bin/git config core.sparsecheckout # timeout=10

> /usr/local/git/bin/git checkout -f bf0f9bd981c053359167a0e46e517f4f936c8c98Commit message: \"Update TestDemoImpl.java\"

> /usr/local/git/bin/git rev-list --no-walk bf0f9bd981c053359167a0e46e517f4f936c8c98 # timeout=10

[maven_demo_impl] $ /project/java/maven/apache-maven-3.6.1/bin/mvn -s /project/java/maven/apache-maven-3.6.1/conf/settings.xml -gs /project/java/maven/apache-maven-3.6.1/conf/settings.xml clean compile package -Dmaven.test.skip=[INFO] Scanning for projects...[INFO]

[INFO] --------------------< com.netease:maven_demo_impl >---------------------[INFO] Building maven_demo_impl 1.0-SNAPSHOT

[INFO] --------------------------------[ jar ]---------------------------------Downloading from nexus-aliyun-repo: http://maven.aliyun.com/nexus/content/groups/public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xmlDownloading from maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xmlProgress (1): 776 B

Downloaded from maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml (776 B at 4.2 kB/s)

Downloading from nexus-aliyun-repo: http://maven.aliyun.com/nexus/content/groups/public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pomDownloading from maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pomProgress (1): 2.1 kB

Downloaded from maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom (2.1 kB at 47 kB/s)Downloading from maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jarProgress (1): 2.6 kB

Downloaded from maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jar (2.6 kB at 67 kB/s)[INFO]

[INFO] --- maven-clean-plugin:3.0.0:clean (default-clean) @ maven_demo_impl ---[INFO] Deleting /var/lib/jenkins/workspace/maven_demo_impl/target[INFO]

[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ maven_demo_impl ---[INFO] Using 'UTF-8' encoding to copy filtered resources.[INFO] Copying 1 resource[INFO] Copying 0 resource[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ maven_demo_impl ---[INFO] Changes detected - recompiling the module!

[INFO] Compiling 2 source files to /var/lib/jenkins/workspace/maven_demo_impl/target/classes[INFO]

[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ maven_demo_impl ---[INFO] Using 'UTF-8' encoding to copy filtered resources.[INFO] Copying 1 resource[INFO] Copying 0 resource[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ maven_demo_impl ---[INFO] Nothing to compile - all classes are up to date[INFO]

[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ maven_demo_impl ---[INFO] Not copying test resources[INFO]

[INFO] --- maven-compiler-plugin:3.6.1:testCompile (default-testCompile) @ maven_demo_impl ---[INFO] Not compiling test sources[INFO]

[INFO] --- maven-surefire-plugin:2.21.0:test (default-test) @ maven_demo_impl ---[INFO] Tests are skipped.[INFO]

[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ maven_demo_impl ---[INFO] Building jar: /var/lib/jenkins/workspace/maven_demo_impl/target/maven_demo_impl-1.0-SNAPSHOT.jar[INFO]

[INFO] --- spring-boot-maven-plugin:2.0.5.RELEASE:repackage (default) @ maven_demo_impl ---[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------[INFO] Total time: 11.163 s

[INFO] Finished at: 2019-08-27T15:00:40+08:00

[INFO] ------------------------------------------------------------------------SSH: Connecting from host [localhost.localdomain]SSH: Connecting with configuration [192.168.20.143] ...

SSH: EXEC: STDOUT/STDERR from command [sh /projects/scripts/run.sh maven_demo_impl 10010] ...starting service...

nohup: 把输出追加到\"nohup.out\"

maven_demo_impl : 4406 SUCCESSSSH: EXEC: completed after 20,262 ms

SSH: Disconnecting configuration [192.168.20.143] ...SSH: Transferred 1 file(s)Finished: SUCCESS

可以看到ssh已经有jar 并运⾏了。

推荐阅读(点击即可跳转阅读)1. 2. 3. 4. 5.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有 湘ICP备2023023988号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务