一、安装 和 准备工作
我们选择了用 Tomcat 服务器下 war 包的安装方式。Jenkins 的下载地址:http://mirrors.jenkins-ci.org/,打开链接后,表格有war列。Releases行是短期更新包,LTS行是长期更新包。一般选择Releases下载即可。将下载完成的 war 包 放在 Tomcat 服务器的 webapps 目录下,然后启动服务器即可。建议单独用一台 Tomcat 服务器部署,方便管理。
1、Tomcat 服务器运行起来后,用浏览器访问 http://ip地址:端口号/jenkins 如下图:
2、在 Linux 服务器上执行 cat /root/.jenkins/secrets/initialAdminPassword 复制密码并粘贴:
3、安装推荐的插件即可。插件安装完成后,可以创建一个管理员账户:
5、点击 系统管理 --> 管理插件 --> 可选插件 ,搜索 Maven Integration (用来Maven 编译打包)和 Publish Over SSH (用于远程服务器发布) 插件,安装完成后重启:http://IP地址:端口号/jenkins/restart
@H_301_41@6、点击 系统管理 --> 全局工具配置,安装配置好 JDK、Maven 和 Git。不会安装的自行百度...
@H_301_41@二、构建 Maven 项目
1、输入任务名称,选择 构建一个 Maven 项目:
@H_301_41@2、源码管理
@H_301_41@3、构建触发器
@H_301_41@build after other projects are built -->当本job依赖的job被build时,执行本job
build periodically -->隔一段时间build一次,不管版本库代码是否发生变化,通常不会采用此种方式。
poll scm -->隔一段时间比较一次源代码如果发生变更,那么就build。否则,不进行build,通常采用这种方式。 @H_301_41@这里我选择手动触发部署,所以没有勾选任何一项。
4、构建环境
@H_301_41@ - Patterns for files to be deleted:正则匹配删除哪些文件
- Apply pattern also on directories:规则是否也应用到文件夹
- Check parameter:是否删除,是个bool值,true则删除,false不删除
- External Deletion Command:执行外部删除命令
- Time-out strategy:超时策略,有绝对时间,相对时间,根据以前的构建时间判断等
- Time-out variable:超时时间
- Time-out actions:超时后的处理,如终结,faile调或者写描述
- Add timestamps to the Console Output:在输出界面添加时间戳
- Use secret text(s) or file:使用密文,用于全局性的管理密码等,勾选后会在下方出现Binding,输入需要的用户名,密码证书等就可以了。
5、Build
@H_301_41@6、Post Steps
@H_301_41@当Maven 编译打包完成后,接下来的工作就是 把 war包 解压到 Tomcat 服务器的 /webapps/ROOT 目录下,然后重启服务器。为此准备了两个脚本 deploy.sh (解压war包并重启服务器),重启服务器 用到了另一个脚本 restart.sh 。接下来看一下这两个脚本的具体内容: @H_301_41@deploy.sh#!/bin/sh war=$1 bin=$(cd `dirname $0`; pwd) if [ ! -n "${war}" ]; then echo ***Usage: $0 [project.war]" exit 0 fi if [ ! -f ***Error: ${war} does not exist.if [ ! ${war##*.}" = war***Error: ${war} is not a war file.fi Deploy ${war##*/}..." rm -rf ${bin}/../webapps/ROOT/ cd ${bin}/../webapps && mkdir ROOT && cd ROOT jar -xvf ${war} rm -rf ${bin}/../work/Catalina/localhost/ Restart tomcat...sh ${bin}/restart.sh
#!/bin/ bin=$(cd `) pid=$(ps aux | grep tomcat | grep -v grep | grep -v restart | grep ${bin} | awk '{print $2}') if [ -n ${pid}Shutdown..." sh ${bin}/shutdown.sh sleep 3 pid=$() then kill -9 ${pid} 1 Startup...sh ${bin}/startup.sh if [ $1-vtail -f -n 600 ${bin}/../logs/catalina.out fi
#!/bin/ export BUILD_ID=qianxx sh /home/wwwroot/t8_8280_passenger/bin/deploy.sh ${WORKSPACE}/target/*.war
- 添加服务器
系统管理 --> 系统设置 --> Publish over SSH ,服务器配置如下:
2. 工程中配置
/home/wwwroot/t8_8180_common/bin/deploy.sh /root/common.war