在开发测试阶段,代码从仓储发布到测试服务器总是少不了的过程,在这个过程中我喜欢把一些繁琐的步骤全部全部聚合到一个脚本里面,只需要执行一个脚本或者把脚本配置到jenkins上通过按钮点击下即可,这样可以将更多的时间专注于开发阶段。
pig4cloud是以微服务的方式进行开发的,如果手动的一个个的去发布微服务的话,会累屎的。我们在这里写了一个 cicd.sh
脚本可以传递两个参数 ui
、java
来决定是发布前端还是后端代码,如果不带任何参数,则前后端均发布。
cicd.sh
执行方式有三种:
# 1、只发前端
sh ./cicd.sh ui
# 2、只发后端
sh ./cicd.sh java
# 3、前后端都发
sh ./cicd.sh
或者
sh ./cicd.sh java ui
这里需要注意下,每次docker exec
进入到容器中,首先要执行下source /etc/profile
命令,否则 所有的环境变量配置均不会生效
#!/bin/bash
param=$1
# 0:build 1:not build
javaBuild=0
uiBuild=0
# 判断需要build的那个
if [ -n "$param" ];then
if [ $param = "java" ];then
uiBuild=1
elif [ $param = "ui" ];then
javaBuild=1
fi
fi
if [ $javaBuild -eq 0 ];then
echo '-------------------------后端代码开始生成-----------------------------'
cd /data/git/wuye
git pull
# 这里的路径是容器里的路径,并非是宿主主机的路径
docker exec -t centos-build sh /data/chwl.online/wuan/build/mvn-clean-install.sh
# 1、先删除容器
CON_OA_CONTAINER=$(docker ps -aq -f "name=wuye-oa" | wc -l)
if [ $CON_OA_CONTAINER -eq 2 ];then
docker rm -f wuye-oa
fi
# 2、再删除镜像
CON_OA_IMAGE=$(docker image ls 'wuye-oa:latest' | wc -l)
if [ $CON_OA_IMAGE -eq 2 ];then
docker rmi wuye-oa
fi
cd /data/git/wuye
docker-compose up -d
fi
if [ $uiBuild -eq 0 ];then
echo '-------------------------前端代码开始生成-----------------------------'
cd /data/git/wuye-ui
git pull
# 这里的路径是容器里的路径,并非是宿主主机的路径
docker exec -t centos-build sh /data/chwl.online/wuan/build/node-build.sh
CON_UI_CONTAINER=$(docker ps -aq -f "name=wuye-ui" | wc -l)
if [ $CON_UI_CONTAINER -eq 1 ];then
docker rm -f wuye-ui
fi
CON_UI_IMAGE=$(docker image ls 'wuye-ui:latest' | wc -l)
if [ $CON_UI_IMAGE -eq 2 ];then
docker rmi wuye-ui
fi
cd /data/git/wuye-ui/docker
docker-compose up -d
fi
# 方式一:
# if [[ -n $(docker ps -aq -f "name=wuye-ui") ]];then
# docker rmi wuye-ui
# else
# echo "wu-ui 容器不存在,无需删除"
# fi
mvn-clean-install.sh
echo '---------------java -->wuye ----------mvn build'
source /etc/profile
cd /data/wuye
echo '当前目录'+$pwd
echo '开始生成jar包'
mvn clean install -Dmaven.test.skip=true
echo 'jar包生成完毕'
node-build.sh
echo '---------------node -->wuye-ui ----------node build'
source /etc/profile
cd /data/wuye-ui
echo '当前目录'+$pwd
# 这里最好判断下nvm list 里面是否有 v14.18.1版本,如果没有的话则执行安装,如果有的话则直接切换版本
echo '切换node 版本'
nvm use v14.18.1
echo node -v
echo '开始打包前端文件'
npm install
npm run build:docker
echo '前端打包完成'
声明:本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。