使用子模块结合jenkins,docker来部署多个项目

jenkins和dokcer部署前端和nodejs项目
git 子模块的使用

在这两篇的基础之上来,结合起来部署

1、首先打开jenkins,新建任务


general

2、添加git地址含有子模块的


submodle-demo

3、添加构建脚本

# 更新子模块
git submodule update --init --recursive


# 前端vue项目-----------------------------------------------------
echo "进入vue-demo目录"
cd vue-demo
# 执行的shell
CONTAINER_ID=$(docker ps -a -q -f name=vue-demo)
IMAGE_ID=$(docker images | grep "vue-demo" | awk '{print $3}')
echo $CONTAINER_ID
echo "停止vue-demo"
npm config set registry https://registry.npm.taobao.org
npm install
npm run build
if [ -n "$CONTAINER_ID" ]; then
  docker stop $CONTAINER_ID
  echo "删除vue-demo容器"
  docker rm $CONTAINER_ID
fi
if [ -n "$IMAGE_ID" ]; then
  echo "删除vue-demo镜像"
  docker rmi $IMAGE_ID
fi
echo "开始vue-demo镜像打包"
docker build -t vue-demo .
echo "运行vue-demo镜像在8008"
docker run --name vue-demo -p 8008:80 -d vue-demo

# nodejs项目---------------------------------------------------------
echo "进入node-demo目录"
cd ../node-demo
# 先停止容器,再删除容器,再删除镜像
CONTAINER_ID=$(docker ps -a -q -f name=node-demo)
IMAGE_ID=$(docker images | grep "node-demo" | awk '{print $3}')
if [ -n "$CONTAINER_ID" ]; then
  docker stop $CONTAINER_ID
  echo "删除vue-demo容器"
  docker rm $CONTAINER_ID
fi
if [ -n "$IMAGE_ID" ]; then
  echo "删除vue-demo镜像"
  docker rmi $IMAGE_ID
fi
# 根据dockefile构建镜像
docker build -t node-demo .
# 启动镜像,容器端口是3000
docker run --name node-demo -itd -p 8010:3000 node-demo
# 访问8010端口
echo "服务运行在8010端口上"

4、保存配置,点击构建, 等待构建成功


workspace

构建成功

5、访问ip:8008 和 ip:8010 出现如下页面即为部署成功


vue-demo

node-demo
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容