部署生成环境

1、更新代码 fetch/merge

git 提供的merge 合并分支到master

macOS/linux

#!/bin/zsh
update_repo_code ()
{
    echo "开始合并浙江人大代表综合应用前端代码..."
    cd /Users/kuai/Projects/zjrd/zjrd-represent-app
    git fetch
    git merge origin/develop
    CONFLICTS=$(git ls-files -u | wc -l)
    if [ "$CONFLICTS" -gt 0 ] ; then
    echo "前端代码冲突了,已终止部署"
    git merge --abort
    exit 1
    fi
    echo "开始合并浙江人大代表综合应用后端代码"
    cd /Users/kuai/Projects/zjrd/zjrd-databoard
    git fetch
    git merge origin/develop
    CONFLICTS=$(git ls-files -u | wc -l)
    if [ "$CONFLICTS" -gt 0 ] ; then
    echo "后端代码冲突了,已终止部署"
    git merge --abort
    exit 1
    fi
}

update_repo_code ()

powershell

//TODO

2、自动打包 build

前端:yarn build构建,zip打包压缩

后端:mvn package,注意这里通过sed命令替换激活的yaml配置文件

macOS/linux

if [ "$options" == "all" -o "$options" == "app" ]
then
		cd /Users/kuai/Projects/zjrd/zjrd-represent-app
    echo "开始打包浙江人大代表综合应用前端代码..."
    yarn run build:mm
    rm -rf /Users/kuai/Downloads/srddbgz.war
    cd dist
    zip -r /Users/kuai/Downloads/srddbgz.war ./*
fi
if [ "$options" == "all" -o "$options" == "admin" ]
then
    cd /Users/kuai/Projects/zjrd/zjrd-databoard   
    echo "开始合并浙江人大代表综合应用后端代码"
    echo "yaml文件激活为production"
    sed -i '' 's/active: default/active: production, default/g' src/main/resources/application.yaml
    echo "开始打包浙江人大代表综合应用后端代码"
    mvn -Dmaven.multiModuleProjectDirectory=/Users/kuai/Projects/zjrd/zjrd-databoard -Dfile.encoding=UTF-8 -DskipTests=true -Prelease package
    echo "yaml文件切换回为default模式"
    sed -i '' 's/active: production, default/active: default/g' src/main/resources/application.yaml
    rm -rf /Users/kuai/Downloads/databoard.war
    mv target/databoard-0.0.4-SNAPSHOT.war target/databoard.war
    mv target/databoard.war /Users/kuai/Downloads/databoard.war
fi

3、自动发版 deploy

通过sftp远程把文件自动上传到相关服务器中,配合tomcat或TongWeb中间件的自动更新能力。

macOS/linux

if [ "$options" == "all" ]
then
    sftp zjrddms <<EOF
    put /Users/kuai/Downloads/srddbgz.war /data/software/TongWeb7956/autodeploy
    put /Users/kuai/Downloads/databoard.war /data/software/TongWeb7956/autodeploy
    exit
EOF
elif [ "$options" == "app" ]
then
    sftp zjrddms <<EOF
    put /Users/kuai/Downloads/srddbgz.war /data/software/TongWeb7956/autodeploy
    exit
EOF
elif [ "$options" == "admin" ]
then
    sftp zjrddms <<EOF
    put /Users/kuai/Downloads/databoard.war /data/software/TongWeb7956/autodeploy
    exit
EOF
fi

powershell

//TODO

4、发布到IRS应用(可选)

macOS/linux

if [ "$options" == "ding-dbllz" ]
then
    echo "开始打包IRS应用【代表信息】"
    cd /Users/kuai/Projects/zjrd/zjrd-represent-app
    # 指定配置路径
    sed -i '' 's/\/dbLlz\/dbLlzmap/\/dbInfo\/index/g' vue.config.js
    sed -i '' 's/ZLRD_DAIBIAOLIANLUOZHAN/ZLRD_DAIBIAOXINXI/g' vue.config.js
    # 删除之前的打包
    rm -rf /Users/kuai/Downloads/zjrd-represent-app.zip
    # 压缩源代码,排除不需要的文件
    zip -r9 /Users/kuai/Downloads/zjrd-represent-app.zip ./* -x node_modules/\* .git/\* dist/\* build/\* public/wlxy/\*
    # 把配置路径改回来
    sed -i '' 's/\/dbInfo\/index/\/dbLlz\/dbLlzmap/g' vue.config.js
    sed -i '' 's/ZLRD_DAIBIAOXINXI/ZLRD_DAIBIAOLIANLUOZHAN/g' vue.config.js
    # finder中打开定位到该文件,方便直接拖动文件到网页上上传
    open -R /Users/kuai/Downloads/zjrd-represent-app.zip
    # 把自动提升的版本号复制到剪贴板中,方便复制粘贴
    echo $new_version | pbcopy
    echo "完成打包IRS应用【代表信息】"
fi

 远程连接部署jar包

登录堡垒机(阿里云)-->主机运维-->小黑窗

  1. cd 路径
  2. ps -ef | grep msssjd
  3. kill 端口号
  4. 删除logs、nohup、jar包(备份一下原来的jar包)
  5. 桌面文件移动到/root/projects/yesd/api
  6. nohup java -dfile.encoding=utf-8 -jar jar包名 & 
  7. tail -f nohup.out          查看日志 也可以文件中直接查看nohup 

注:第6步 不加nohup的话 远程关闭后服务就终止了 

nohup.out文件太大  需要压缩 

cd 压缩路径 cd project/yesd/api/

1.1、压缩

tar -cvf [文件名].tar [文件目录] //打包成.tar文件
tar -jcvf [文件名].tar.bz2 [文件目录] //打包成.bz2文件
tar -zcvf [文件名].tar.gz [文件目录] //打包成.gz文件

1.2、解压缩

tar -xvf [文件名].tar //解压到当前文件
tar -xvf [文件名].tar -C [文件目录] //将.tar文件解压到指定目录
tar -jxvf [文件名].tar.bz2 -C [文件目录] //解压.bz2文件到指定目录
tar -zxvf [文件名].tar.gz -C [文件目录] //解压.gz文件到指定目录

1.3、常用选项
-c 建立新的压缩文件
-C 指定解压目录,该目录必须存在
-x 从压缩的文件中提取文件
-j 支持bzip2解压文件
-f 指定压缩文件
-v 显示操作过程
-z 支持gzip解压文件

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值