1、环境的搭建
- 以下环境的搭建均为本人实际操作,并记录的日志,若在搭建那过程中有任何疑问,请与作者联系,互相学习
1、jdk安装
https://blog.youkuaiyun.com/www1056481167/article/details/126028093
2、git安装
https://blog.youkuaiyun.com/www1056481167/article/details/126028234
3、maven安装
https://blog.youkuaiyun.com/www1056481167/article/details/126027146
4、nodeJs的安装
https://blog.youkuaiyun.com/www1056481167/article/details/125997256
5、tomcat的搭建
https://blog.youkuaiyun.com/www1056481167/article/details/115396974"
6、jenkins的安装
方式一:(推荐)
war包部署在tomcat中方式:https://blog.youkuaiyun.com/www1056481167/article/details/126034277
方式二:
docker中安装jenkins:https://blog.youkuaiyun.com/www1056481167/article/details/125580290
2、jenkins的全局工具配置
如果git一直拉取不下来项目,使用该命令which git(查看git的运行地址)因为很多人都出现拉去不下来没权限的问题
[root@localhost git-2.9.5]# which git
/usr/local/software/git/gitCompile/bin/git
[root@localhost git-2.9.5]#
3、jenkins的项目配置
说明
1、git项目的指定。本人指定的是gitee的项目,此项目为本人自己搭建。已开放权限,全网均可拉去该项目测试
https://gitee.com/xwb1056481167/jenkins-demo.git
2、指定了触发器主要是为了在浏览器直接请求后,即可自动构建,不用进入jenkins后点击重新构建。
该配置所对应的构建地址为(ip地址为你自己jenkins部署的服务器地址):
http://192.168.11.133:8080/jenkins/job/jenkins-demo/build?token=JENKINS_TOKEN
3、核心的为shell的编写,里面大致的逻辑是
1、将jenkins目录拉取的项目移动到临时目录project下
2、然后在project下进行maven的编译、打包
3、将生成的jar文件放到jarRun目录下
4、启动项目
4、脚本信息(核心)
#!/bin/bash
source ~/.bash_profile
source /etc/profile
echo "==========definition param=========="
APP_NAME=jenkins-demo
APP_JAR=$APP_NAME.jar
echo "==========join jenkins $APP_NAME workspace=========="
cd /root/.jenkins/workspace/$APP_NAME/
echo "==========create $APP_NAME project workspace=========="
mkdir -vp /usr/local/software/project/$APP_NAME
echo "==========copy $APP_NAME project to projectWork=========="
\cp -R ../$APP_NAME/* /usr/local/software/project/$APP_NAME
echo "==========go $APP_NAME projectWork=========="
cd /usr/local/software/project/$APP_NAME
echo "==========maven clean package=========="
mvn clean package
echo "==========create jarRun $APP_NAME workspace=========="
mkdir -vp /usr/local/software/jarRun/$APP_NAME/
echo "==========copy jar file to jarRun work=========="
\cp -R /usr/local/software/project/$APP_NAME/target/$APP_NAME-1.1.0.jar /usr/local/software/jarRun/$APP_NAME/
echo "==========delete target file=========="
rm -rf target*
echo "==========go jar workspace =========="
cd /usr/local/software/jarRun/$APP_NAME/
echo "==========update jar project name=========="
mv -f $APP_NAME-1.1.0.jar $APP_NAME.jar
echo "==========chmod file auth =========="
chmod 777 $APP_NAME.jar
echo "==========kill already exists jar start =========="
tpid=`ps -ef|grep $APP_JAR|grep -v grep|grep -v kill|awk "{print $2}"`
if [ ${tpid} ]; then
echo "**********************Stop jar**********************"
kill -9 $tpid
fi
echo "==========kill jar end =========="
#ps -ef | grep "$APP_NAME" | grep -v grep |awk "{print $2}" |xargs kill -9
echo "==========run java project=========="
# nohup java -jar /usr/local/software/jarRun/$APP_NAME.jar &
echo "********************************************************************"
echo "****如果脚本使用nohup启动,则必须在他之前指定BUILD_ID(名字可以随便定义)**"
echo "********************************************************************"
BUILD_ID=jenkins-demo
nohup java -jar $APP_NAME.jar > ../$APP_NAME/nohup.out 2>&1 &
echo "==========SUCCESS=========="