前期准备:git、jdk、maven、Jenkins
jdk
/etc/profile
1 2 3
| export JAVA_HOME=/usr/local/jdk1.8.0_321 export CLASSPATH=:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin
|
maven
1 2 3 4 5 6 7 8
| <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>
|
/etc/profile
1 2
| export MAVEN_HOME=/usr/local/apache-maven-3.8.1 export PATH=$PATH:$MAVEN_HOME/bin
|
载入配置
source /etc/profile
Jenkins
1
| nohup java -jar jenkins.war --httpPort=9000 > jenkins.log 2>&1 &
|
配置Jenkins环境
全局工具配置
安装插件
- Gitee plugin
- Maven Integration plugin
- Jersey 2 API
系统配置
添加Gitee令牌
创建项目
General
源码管理
构建规则
Pre steps
执行Shell命令
1 2 3 4 5 6 7
| echo "准备停止iwms-0.0.1-SNAPSHOT.jar" pid=`ps -ef | grep iwms-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then kill -9 $pid fi echo "停止iwms-0.0.1-SNAPSHOT.jar完毕"
|
Build
Goals and Options:
clean package
Post steps
执行Shell命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| BUILD_ID=DONTKILLME echo "移动jar包到/www/wwwroot目录,并去掉版本号名称" if [ ! -d "/www/wwwroot/项目文件夹" ];then mkdir /www/wwwroot/项目文件夹 else echo "文件夹已经存在" fi
if [ ! -f "/www/wwwroot/项目文件夹/项目名-0.0.1-SNAPSHOT.jar" ];then echo "文件不存在" else rm -f /www/wwwroot/项目文件夹/项目名-0.0.1-SNAPSHOT.jar fi
mv -f /root/.jenkins/workspace/Jenkins项目名称/target/项目名-0.0.1-SNAPSHOT.jar /www/wwwroot/项目文件夹/项目名-0.0.1-SNAPSHOT.jar echo "移动jar包完成"
echo "启动iwms服务" nohup java -jar /www/wwwroot/项目文件夹/项目名-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod --server.port=端口号> /www/wwwroot/项目名/learn.log 2>&1 & echo "启动iwms服务完成"
|
Jenkins常用命令
重载配置 /reload
重启 /restart
Nginx配置
1 2 3 4
| location / { proxy_pass http://127.0.0.1:端口号; index index.html index.htm index.jsp; }
|
添加ssl
1 2 3 4 5 6 7 8
| location / { proxy_set_header X-Rea $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Nginx-Proxy true; proxy_pass http://localhost:端口号; proxy_set_header X-Forwarded-Proto $scheme; }
|