Loading...
墨滴

Sertraline

2021/03/27  阅读:32  主题:前端之巅同款

未命名文章

流程图
流程图

nuxt Dockerfile

FROM node:lts-alpine
LABEL Author=echo
# ENV NODE_ENV=production
ENV HOST=0.0.0.0

RUN mkdir -p /app
COPY . /app
WORKDIR /app

EXPOSE 22322

RUN yarn config set registry https://registry.npm.taobao.org/
RUN yarn install
RUN yarn run build

CMD ["yarn""start"]

2 Jenkins配置

Build

Execute shell

#!/bin/bash
docker login -u -p [harbor地址]
IMAGE_NAME="[镜像名]:$[$(date +%s%N)/1000000]"
echo $IMAGE_NAME
docker build --pull --rm -f "Dockerfile" -t $IMAGE_NAME "."
echo "==========Docker image构建完成=========="
docker push $IMAGE_NAME
echo "==========Docker image推送完成=========="
docker image rm $IMAGE_NAME
echo "==========Docker image删除成功=========="

Execute shell script on remote host using ssh

#!/bin/bash
docker login -u -p [harbor地址]
IMAGE_NAME="[镜像名]"
IMAGE_TAG=$(curl -u [harbor账号:密码] -X GET "http://[harbor地址]/api/v2.0/projects/vertex/repositories/vertex-web/artifacts?page=1&page_size=1&with_tag=true&with_label=false&with_scan_overview=false&with_signature=false&with_immutable_status=false" -H "accept: application/json" | sed 's/,/\n/g' | grep "name" | awk -F ':' '{print $2}' | sed 's/"//g')
CONTAINER_ID=`docker ps | grep [docker name] | awk '{print $1}'`
echo $CONTAINER_ID
if [ -n "$CONTAINER_ID" ]
then
    docker rm -f $CONTAINER_ID
fi

IMAGE_ID=`docker images | grep "vertex-web" | awk '{print $3}'`
if [ -n "$IMAGE_ID" ]
then
    docker image rm $IMAGE_ID
fi
docker run --rm -p 22322:22322 -d --name [docker name] $IMAGE_NAME:$IMAGE_TAG

Sertraline

2021/03/27  阅读:32  主题:前端之巅同款

作者介绍

Sertraline