war包方式安装切换源
USER填写安装当前用户
sed -i 's/www.google.com/www.baidu.com/' ${USER}/.jenkins/default.json
sed -i 's/updates.jenkins.io/mirrors.tuna.tsinghua.edu.cn\/jenkins\/updates/' ${USER}/.jenkins/hudson.model.UpdateCenter.xml
其他的安装方式安装路径不知道是不是 /var/lib/jenkins/
安装一些插件
Maven Integration plugin
Publish Over SSH
GitLab Plugin
Deploy to container Plugin
触发器的构建
触发远程构建:
Build after other projects are built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功、失败、或者不稳定(这个不稳定我这里还木有理解)时候触发项目 参考
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。我的配置如下:
*/5 * * * * (每5分钟检查一次源码变化)
Build periodically:周期进行项目构建(它不care源码是否发生变化),我的配置如下:
0 2 * * * (每天2:00 必须build一次源码)
发布到远程
修改系统配置
添加构建后操作 一般不需要 项目名 此处有两级所以需要
重启脚本
ps -ef | grep wintest-app.jar | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -jar /opt/project/wintest-app/wintest-app.jar > ./console_output.log 2>&1 &
maven 引用本地jar包
问题描述:
在pom.xml中引入的依赖,在部署时发现在maven仓库中找不到,导致项目部署失败。尤其在自动化部署时(jenkins),通常都是在公司自己搭建的maven库中进行jar下载。缺包的现象不时会发生。
解决方案:
在项目中建立lib包,将需要的jar包放入目录。
然后pom.xml中的依赖项,默认是去maven仓库中下载,所以需要指定jar路径。
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}/lib/ojdbc6-11.2.0.1.0.jar</systemPath>
</dependency>
这样配置后,通过IDE已经可以正常运行。但是springboot项目都是以运行jar包的方式运行,这里并不能将lib打包到jar中。
<resource>
<directory>${project.basedir}/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
如此,便能引入本地包并且打入jar中。