最近一个项目使用Docker来部署的,但每次手动部署都需要先把代码拉取到本地,然后在执行命令删除原来的容器和镜像,最后再部署,非常繁琐,所以直接把这些命令放在一个Shell脚本内,实现一键部署,代码如下:

# 指定代码目录
codePath="/root/";
# 接收输入,形如:  xxx.sh projectName
project=$1;
if [ ! -n "$1" ] ;then
  projectName="projectName";
fi
cd $codePath$projectName
echo "git pull start" ;
# 拉取最新代码
git pull origin master
echo "git pull finish" ;

echo "Docker build start" ;
# 停止容器、删除容器、删除镜像
docker stop app
docker rm app
docker image rm app
docker build . -t app
echo "Docker build finish" ;

echo "Docker deploy start" ;
# 开始部署
docker run -d --name app --network host --restart=always -v ~/app.env:/app.env app
echo "Docker deploy finish" ;

自此一个半自动部署脚本完成,后续有时间再把脚本和Jenkins集成到一起,就可以实现定时或者提交后自动部署了。

标签: none

添加新评论