https://blog.csdn.net/wuruijie321/article/details/84134763
https://www.cnblogs.com/fengwenzhee/p/10448474.html
https://my.oschina.net/tonystark/blog/1920889
https://www.cnblogs.com/ityouknow/archive/2017/11/26/7899349.html
唯一需要注意的就是初始的用户名和端口的修改了
服务器环境: Cenos7.4
所需工具:
Jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
Maven
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
mvn -version
JDK
...
位置: 系统管理->插件管理->可选插件
Maven Integration plugin : maven插件
Subversion Plug-in : svn插件
Publish Over SSH : 通过该插件, 可以将构建的内容通过SSH发布到远程服务器
这里有很多可以配置的, 随着深入使用,再逐步完善
可以配置多个, 这里配置完毕后, 就可以在新建任务时使用
位置: 系统管理->全局工具配置
Maven配置
使用自定义的配置文件: /usr/share/apache-maven/conf/settings.xml
JDK (不要勾选自动安装)
别名: JDK
JAVA_HOME: /usr/java/jdk1.8.0_121
Maven安装 (不要勾选自动安装)
Name: maven
MAVEN_HOME: /usr/share/apache-maven/
这里先新建一个maven项目
源码管理
开始构建时, 会从SVN拉取代码到工作空间, 然后开始进行项目构建. 另外,如果要自动化构建, 这里也是轮询的目标
[外链图片转存失败(img-WWoVMk0e-1568389121692)(http://image.crocutax.com/image/201906/23/201906232328rd5d0f9aa2d5653.png)]
自动化构建
每分钟轮询, 注意表达式中间的空格 ,也可以自定义其他的表达式
* * * * *
参考: https://www.cnblogs.com/shuai7boy/p/9692958.html
构建环境
[外链图片转存失败(img-NUNJ2zxX-1568389121693)(http://image.crocutax.com/image/201906/23/201906232330rd5d0f9afe0d9d0.png)]
构建命令
常规maven命令
clean package -Dmaven.test.skip=true
[外链图片转存失败(img-Sx0c2K1u-1568389121693)(http://image.crocutax.com/image/201906/23/201906232330rd5d0f9afe0518e.png)]
构建后操作
这里需要注意的就是Remote directory了 ,最终生效的路径为:
SSH服务器的根 Remote Directory + 项目子Remote Directory
一般单项目使用SSH服务的根目录,这里直接留空即可. 多项目的话,可能会用到
根目录 + 子目录1
根目录 + 子目录2
服务器已经安装了Maven, 但是依然提示这个, 因为需要在Global Tool Configuration 中配置Maven
https://www.cnblogs.com/ycyzharry/p/6653905.html
1.在svn配置的url上加上@HEAD后缀 ,例如svn://XXXX@localhost:8080/xxxxxx/test@HEAD
2.重启Jenkins service jenkins restart
参考链接: https://blog.csdn.net/lijun169/article/details/86593801
可以考虑优化的地方:
1.直接本地svn拉取代码,有没有更快速的方式?
2.阿里云内网ssh,速度应该快于外网
按如下配置,未生效, 待研究
https://help.aliyun.com/knowledge_detail/38162.html?spm=5176.11065259.1996646101.searchclickresult.5a617201e1zTPX
需用使用VPC告诉通道,收费.暂时搁置.
3.执行的命令必须放在目标服务器上吗? 直接输出不行吗(目前测试是不生效的)