初始Jenkins这个词,我记得是17年的10月份,那是在我司的服务器上面看到一个名叫的Jenkins的文件夹。当时我就百度了Jenkins这个词,知道它是基于Java开发的一种持续集成工具。后来也没机会用到Jenkins就逐渐淡出了我的视野。直到现在,我对它的认知也仅仅停留在百度词条。
最近公司用到了Jenkins,我也0-N耍上一波。
前置操作
下载并启动jenkins。jenkins是基于Jetty服务器的。
wget http://mirrors.jenkins.io/war/2.83/jenkins.war
nohup java -jar jenkins.war &
输入密码
安装插件
创建账号
下载并配置maven,在/etc/profile
配置以下几行,并mvn -v
验证maven是否安装成功
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.0
PATH=$PATH:$MAVEN_HOME/bin
export MAVEN_HOME PATH
在系统管理-系统设置,配置管理员邮箱+邮件通知
安装git
yum install git
全局工具配置
安装其他插件
如果遇到安装Pipeline Maven Integration和Maven Integration插件失败的话,可以通过手动下载hpi文件,然后手动安装。画外音:yum install -y lrzsz
安装sz、rz命令可以在linux实现上传下载功能。
上传刚才下载失败的插件。
配置用户名+密码方式登录目标发布服务器
新建项目
新建项目
勾选丢弃旧的构建
源码管理,选择git,点击add输入账号和密码
构建环境中勾选Add timestamps to the Console Output
,代码构建的过程中会将日志打印出来
配置Build
clean install -Dmaven.test.skip=true -Ptest
配置Post Steps 选择 Run only if build succeeds。点击Add post-build step,选择 Send files or execute commands over SSH
start-tomcat(记得chmod 777赋权限)脚本如下:
#!/bin/sh
TOMCAT='/usr/local/tomcat/apache-tomcat-8.0.48'
echo "deploy demo-0.0.1-SNAPSHOT.war"
#ps 显示进程,grep筛选进程,awk是一个强大的文本分析工具筛选出tomcat8的pid
pidList=`ps -ef|grep search-3|grep -v 'grep'|awk '{print $2'}`
echo "${pidList}"
if [ "$pidList" = "" ]; then
echo "no tomcat pid alive"
else
#kill掉tomcat的进程
echo "tomcat id list :$pidList"
kill -9 $pidList
echo "kill $pidList"
fi
echo "begin del old demo-0.0.1-SNAPSHOT.war"
#移除原来的war包
rm -rf $TOMCAT/webapps/demo-0.0.1-SNAPSHOT.war && rm -rf $TOMCAT/webapps/ROOT
echo "copy to tomcat webApps "
#拷贝war包到tomcat启动目录下
cp /root/.jenkins/workspace/jenkins-demo/target/demo-0.0.1-SNAPSHOT.war $TOMCAT/webapps/
#启动tomat
echo "start tomcat ! Go Go Go!!!"
cd $TOMCAT"/bin"
./startup.sh
配置邮箱提醒
构建项目
发现问题,tomcat的bin目录中setclasspath.sh应该配置JAVA_HOME和JRE_HOME
构建成功
访问项目
尾言
大功告成!