非docker部署
#!/bin/sh
cd frontend/website
echo "====================================start installing dependencies===================================="
cnpm install
sleep 1
echo "====================================start building===================================="
npm run build
sleep 1
echo "====================================start transfering dist files===================================="
rm -rf /home/tms/static/html/tms/dist
mv -f dist /home/tms/static/html/tms
docker部署
dockerfile文件
FROM node:9.11.1-alpine as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM nginx:1.13.12-alpine as production-stage
COPY --from=0 /app/dist /user/share/nginx/html
COPY docker_build/config/nginx/nginx.conf /etc/nginx/nginx.conf
COPY docker_build/config/nginx/default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
docker部署shell脚本
#!/bin/sh
set -e
red='\e[21;31m%s\e[0m\n'
green='\e[21;32m%s\e[0m\n'
yellow='\e[21;33m%s\e[0m\n'
blue='\e[21;34m%s\e[0m\n'
magenta='\e[21;35m%s\e[0m\n'
cyan='\e[21;36m%s\e[0m\n'
white='\e[21;97m%s\e[0m\n'
## start docker
LOCAL_PORT=8888
DOCKER_PORT=80
DOCKER_TAG=1.0
CONTAINER_NAME=tms_frontend
cd frontend/tms
printf "$yellow" "[1/3] >> remove docker container"
printf "$white" "===================================="
##docker ps --filter "status=exited" | grep 'weeks ago' | awk '{print $1}' | xargs --no-run-if-empty docker rm
##docker images | grep "<none>" | awk '{print $3}' | xargs --no-run-if-empty docker rmi
docker ps -aq | awk '{print $1}' | xargs --no-run-if-empty docker rm -f
sleep 5
docker images | grep "<none>" | awk '{print $3}' | xargs --no-run-if-empty docker rmi -f
sleep 5
# RUNNING_CONTAINERS=$(docker ps -aq)
# for i in $RUNNING_CONTAINERS
# do
# echo "START ROMOVEING CONTAINER: ${i}"
# docker stop ${i}
# docker rm ${i}
# sleep 5
# done
printf "$yellow" "[2/3] >> build docker container"
printf "$white" "===================================="
docker build -t tms_frontend:1.0 .
printf "$green" "[3/3] >> Starting HTTP Server on port $LOCAL_PORT"
printf "$white" "===================================="
docker run -p ${LOCAL_PORT}:${DOCKER_PORT} --net=host --name ${CONTAINER_NAME} ${CONTAINER_NAME}:${DOCKER_TAG}