centeros7 安装配置环境jdk1.8的教程
1.先卸载centeros自带jdk
rpm-qa|grepopenjdk
查询出来的自带的openjdk
2.删除
rpm-e--nodeps
3.再次查询
rpm-qa|grepjdk
4.在usr/local创建文件夹
cd/usr/localmkdirjava
5.将jdk1.8放到刚刚创建的文件中
cd/usr/local/java
用xftp上传后解压
tar-zxvfjdk-8u181-linux-x64.tar.gz
6.进入刚刚解压的文件夹
cdjdk1.8.0_181/pwd#(这一步记录jdk1.8的路径,一会配置环境用)
7.配置环境
vim/etc/profile
按i插入下面路径
exportJAVA_HOME=/usr/local/java/jdk1.8.0_181exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$PATH:$JAVA_HOME/bin
按Esc后:wq退出后
source/etc/profile
8.查看是否成功
java-version
maven 环境配置
1.在/usr/local 下创建maven文件夹
cd/usr/localmkdirmaven
2.进去新建的文件夹
cdmaven
上传 apache-maven-3.5.4-bin.zip
3.解压
unzipapache-maven-3.5.4-bin.zip
4.进入解压的文件夹
cdapache-maven-3.5.4/pwd#(记录下这个路径,一会配置环境用到)
5.配置环境
vim/etc/profile
按i插入下面
exportMAVEN_HOME=/usr/local/maven/apache-maven-3.5.4exportPATH=$PATH:$MAVEN_HOME/bin
按Esc后:wq保存后
source/etc/profile
6.查看是否成功
mvn-v
centeros7安装git
yuminstallgit
一路下来y即可
查看是否是成功
git--version
查看git命令地址
which-agit
到此环境已经搭建好,开始对maven私服,gitlab搭建。
gitlab搭建
1.新建 /etc/yum.repos.d/gitlab-ce.repo
vim/etc/yum.repos.d/gitlab-ce.repo
后按下 i 键 插入下面内容
[gitlab-ce]name=GitlabCERepositorybaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1
2.
sudoyummakecachesudoyuminstallgitlab-ce#(安装最新的)或sudoyuminstallgitlab-ce-12.0.4#(指定版本号)
3.配置 external_url
vim/etc/gitlab/gitlab.rb
修改external_url地址 为:http://本机地址:端口号/
本机地址查看:ifconfig
查看端口号运行的应用 lsof -i:端口号
4.
gitlab-ctlreconfigure
5.
gitlab-ctlrestart#启动gitlab-ctlstart|stop|status|restart#其他操作
6.访问
http://本机地址:端口号/
常见问题gitlab502
: 这个是端口被占用
确保端口不被占用后从4开始继续来一遍
centeros7 搭建maven私服
下载nexus3.x:
https://www.sonatype.com/download-oss-sonatype
1.在/usr/local下创建nexus文件
cd/usr/localmkdirnexuscdnexus
2.上传刚刚下载的nexus压缩包并解压
tar-zxvfnexus-3.18.1-01-unix.tar.gz
3.
cdnexus-3.18.1-01/bin/ls
4.启动
./nexusrun&
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=nexusservice[Service]Type=forkingLimitNOFILE=65536#警告处理ExecStart=/usr/local/nexus/nexus-3.7.1-02/bin/nexusstartExecReload=/usr/local/nexus/nexus-3.7.1-02/bin/nexusrestartExecStop=/usr/local/nexus/nexus-3.7.1-02/bin/nexusstopRestart=on-failure[Install]WantedBy=multi-user.target
3.将服务加入开机启动
systemctlenablenexus.service
4.重新加载配置文件
systemctldaemon-reload
7.运行用户为root (编辑nexus bin下的nexus.rc)
cd/usr/local/nexus/nexus-3.18.1-01/bin/vimnexus.rc
内容改为:
run_as_user="root"
8.修改nexus3启动时要使用的jdk版本
cd/usr/local/nexus/nexus-3.18.1-01/bin/vimnexus
按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/usrmkdirprojects
将改zip解压到projects进入到pom.xml所在目录
mvndeploy-Dmaven.test.skip=true-U
已经上传成功
这里要把Allow anonymous users to access the server(允许匿名用户访问服务器)
因为本地maven没有配置用户
也可以用idea maven命令depoly
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} ${project.build.sourceEncoding}
settings.xml中servers中定义的id一致
在settings 添加下面镜像
Central http://repo1.maven.org/maven2 central
最后settings文件。到这儿jar包已经可以发布到私服上去了
再看怎么拉取的
maven_demo_impl项目的pom.xml
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源:
sudowget-O/etc/yum.repos.d/jenkins.repohttp://jenkins-ci.org/redhat/jenkins.reposudorpm--importhttp://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
3.安装
yuminstalljenkins
4.启动
sudoservicejenkinsstart
5.访问
http://ip:8080/#jenkenis默认是8080
第一次密码:
vim /var/lib/jenkins/secrets/initialAdminPassword
点安装推荐的插件(后面的选择安装不知道安装什么)
修改jenkins端口
vim/etc/sysconfig/jenkins
将JENKINS_PORT="8080" ===> 修改成未占用想修改的端口 JENKINS_PORT="8089"
重启服务
servicejenkinsrestart
遇到的问题:重装了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.配置构建
cleancompilepackageinstalldeploy-Dmaven.test.skip=true-U#将jar发布
然后应用,配置完成!
3.在my view(我的视图) -> 找到新建的项目 --> 点击build now(立即构建)
在构建历史中点击刚刚的构建如下图: #1 : 是构建的id ,控制台输出: 可以看到具体的输出
下面是输入日志 可以看到以前拉取到指定的项目master分支
Started by user rootRunning as SYSTEMBuilding in workspace /var/lib/jenkins/workspace/firstusing credential fad2813a-c894-4386-ae16-11d6e6d349d4Cloning the remote Git repositoryCloning repository http://192.168.20.137:9029/root/wx-ssm.git> /usr/local/git/bin/git init /var/lib/jenkins/workspace/first # timeout=10Fetching 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=10Checking out Revision 47d13c3ca0bc12fc0465c3e4c582b2c542276eb6 (refs/remotes/origin/master)> /usr/local/git/bin/git config core.sparsecheckout # timeout=10> /usr/local/git/bin/git checkout -f 47d13c3ca0bc12fc0465c3e4c582b2c542276eb6Commit 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命令:
cleancompilepackageinstalldeploy-Dmaven.test.skip=true-U
点击build now 然后看控制台输出如下
Started by user rootRunning as SYSTEMBuilding in workspace /var/lib/jenkins/workspace/maven_homeusing credential fad2813a-c894-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=10Checking 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.skip=true -U[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 BDownloaded 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 kBUploaded 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 kBUploaded 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 BDownloaded 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 BUploaded 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 BUploaded 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.640 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# 找到原进程,killpid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')kill -9 $pid#启动jarnohup 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 $pidif [ -z $pid ];then echo "启动失败" exit 1else echo $Project_name : $pid "SUCCESS"fi
现在立即构建 查看控制台输出
Started by user rootRunning as SYSTEMBuilding in workspace /var/lib/jenkins/workspace/maven_demo_implusing credential fad2813a-c894-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=10Checking 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=true -U[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 BDownloaded 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 kBDownloaded 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 kBDownloaded 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 msSSH: Disconnecting configuration [192.168.20.143] ...SSH: Transferred 1 file(s)Finished: SUCCESS
可以看到ssh已经有jar 并运行了。