1、打包至文件夹中,jar自动放在项目的target目录下
2、在window中执行一次试试是否程序启动起来(可跳过,只是测试)
在java -jar 你的项目jar包.jar --spring.profiles.active=test(--spring.profiles.active=test这个是我项目的配置文件为application-test.yml)
就启动成功了
3、在Linux中创建一个文件夹,我就在根目录下创建
mkdir ta_test
4、 然后svn checkout http://app/svn/..../trunk 这个url为公司的SVN项目,前提是Linux中安装了SVN,不然的话只能手动移动项目到这个目录下
5、将trunk包改成 src,这样更符合现在的结构,增加以下可读性
mv trunk src
6、创建并且写SVN项目修改后的更新shell脚本
vim release.sh
#!/usr/bin/env bash
source ~/.bash_profile
WORK_BASE=/home/hadoop/ta_test
PROFILE=test
cd src
svn up
mvn clean package
cd ..
cp src/target/ta-test-*.jar ta-test.jar
cd $WORK_BASE
ps aux | grep -i ta-test.jar | grep -i "spring.profiles.active=${PROFILE}" | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -Xmx2048m -Xms128m -jar ta-auto-testing.jar --spring.profiles.active=${PROFILE} > /dev/null 2>&1 < /dev/null &
more ~/.bash_profile,这个里面是一些特定的环境,例如
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export M2_HOME=/home/hadoop/apache-maven-3.5.2
export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export JAVA_HOME=/usr/java/jdk1.8.0_152
export SCALA_HOME=/home/hadoop/scala
PATH=$PATH:$HOME/bin:$HADOOP_HOME/bin:$JAVA_HOME/bin:$M2_HOME/bin:$HIVE_HOME/bin:$SPARK_HOME/bin:$SCALA_HOME/bin:
export PATH
6、为脚本可执行权限
chmod +x 脚本名
7、启动项目脚本
#!/usr/bin/env bash
source ~/.bash_profile
PROFILE=test
ps aux | grep -i ta-test.jar | grep -i "spring.profiles.active=${PROFILE}" | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -Xmx2048m -Xms128m -jar ta-test.jar --spring.profiles.active=${PROFILE} > /dev/null 2>&1 < /dev/null &
同样给执行权限
8、停止项目脚本,也就是杀死进程
#!/usr/bin/env bash
source ~/.bash_profile
PROFILE=test
ps aux | grep -i ta-test.jar | grep -i "spring.profiles.active=${PROFILE}" | grep -v grep | awk '{print $2}' | xargs kill -9
给执行权限 svn脚本编写完毕
二、用Git来做脚本
首先拉取git clone 代码
git checkout dev ---切换你想要的分支
下面是一个简单的relese.sh脚本
#!/usr/bin/env bash
source ~/.bash_profile
git pull
mvn clean package
cp target/admin-web-*.jar admin-web.jar
ps aux | grep -i admin-web.jar | grep -v grep | awk '{print $2}' | xargs kill -9
nohup java -Xmx2048m -Xms128m -jar admin-web.jar > /dev/null 2>&1 < /dev/null &
同样也脚本执行权限