使用子模塊結(jié)合jenkins,docker來部署多個項目

jenkins和dokcer部署前端和nodejs項目
git 子模塊的使用

在這兩篇的基礎(chǔ)之上來,結(jié)合起來部署

1、首先打開jenkins,新建任務(wù)


general

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


submodle-demo

3、添加構(gòu)建腳本

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


# 前端vue項目-----------------------------------------------------
echo "進入vue-demo目錄"
cd vue-demo
# 執(zhí)行的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
# 根據(jù)dockefile構(gòu)建鏡像
docker build -t node-demo .
# 啟動鏡像,容器端口是3000
docker run --name node-demo -itd -p 8010:3000 node-demo
# 訪問8010端口
echo "服務(wù)運行在8010端口上"

4、保存配置,點擊構(gòu)建, 等待構(gòu)建成功


workspace

構(gòu)建成功

5、訪問ip:8008 和 ip:8010 出現(xiàn)如下頁面即為部署成功


vue-demo

node-demo
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容