一、前端应用
1、参数化构建过程
2、源码管理
3、构建环境
4、构建(执行shell)
id=${id}
echo '================开始安装依赖包================'
yarn
echo '================打包构建================'
yarn build:dev
echo '================删除旧的压缩包================'
rm -rf community-corp-web.tar.gz
echo '================将新打的dist包进行压缩================'
mv dist community-corp-web
tar -zcvf community-corp-web.tar.gz community-corp-web
rm -rf community-corp-web
echo '================构建物上传================'
scp -o StrictHostKeyChecking=no community-corp-web.tar.gz ${username}@${ip}:/mnt/nginx/www
echo '================登录部署主机================'
ssh -tt -o StrictHostKeyChecking=no ${username}@${ip} "
cd /mnt/nginx/www
mkdir -p community
rm -rf community/community-corp-web
tar -zxvf community-corp-web.tar.gz
mv community-corp-web community/community-corp-web
rm -rf community-corp-web.tar.gz
curl ${notifyUrl} -d "id=$id"
"
二、后端应用
1、参数化构建过程
2、源码管理
3、构建环境
4、构建(调用顶层 Maven 目标)
5、构建(执行shell)
id=${id}
commitId=$(git rev-parse --short HEAD)
IMAGE_NAME='registry-vpc.cn-qingdao.aliyuncs.com/common/community-corp-web-portal:private-'$commitId
echo '================开始创建镜像================'$IMAGE_NAME
docker build -t $IMAGE_NAME .
echo '================开始推送镜像================'
cat /etc/docker_passwd | docker login --username=${dockerUsername} --password-stdin registry-vpc.cn-qingdao.aliyuncs.com
docker push $IMAGE_NAME
docker rmi $IMAGE_NAME
echo '================登录部署主机================'
ssh -tt -o StrictHostKeyChecking=no ${username}@${ip} "
cat /etc/docker_passwd | docker login --username=${dockerUsername} --password-stdin registry.cn-qingdao.aliyuncs.com ;
docker stop community-corp-web-portal
docker rm community-corp-web-portal
docker run -d --network host -p 9202:9202 --name community-corp-web-portal -v /mnt/dev/java/logs:/var/logs registry.cn-qingdao.aliyuncs.com/common/community-corp-web-portal:private-$commitId
curl ${notifyUrl} -d "id=$id"
"