👷 添加自动构建发布配置 #6
@ -1,3 +1,3 @@
|
|||||||
.dockerignore
|
.dockerignore
|
||||||
dist
|
#dist
|
||||||
node_modules
|
node_modules
|
||||||
|
58
.drone.yml
Normal file
58
.drone.yml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: default
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build
|
||||||
|
image: node:16-alpine
|
||||||
|
pull: if_not_exists
|
||||||
|
environment:
|
||||||
|
NODE_ENV: ""
|
||||||
|
commands:
|
||||||
|
- yarn install --frozen-lockfile
|
||||||
|
- env ${NODE_ENV} yarn build:prod
|
||||||
|
|
||||||
|
- name: publish
|
||||||
|
image: docker:dind
|
||||||
|
pull: if_not_exists
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
- name: dockerconfig
|
||||||
|
path: /root/.docker
|
||||||
|
commands:
|
||||||
|
- docker build -t hub.kszny.picaiba.com/kszny/glass-ui ./
|
||||||
|
- docker push hub.kszny.picaiba.com/kszny/glass-ui
|
||||||
|
depends_on:
|
||||||
|
- build
|
||||||
|
|
||||||
|
- name: deploy
|
||||||
|
image: appleboy/drone-ssh
|
||||||
|
pull: if-not-exists
|
||||||
|
settings:
|
||||||
|
host:
|
||||||
|
- 172.24.145.74
|
||||||
|
username: root
|
||||||
|
password: Root@123
|
||||||
|
port: 22
|
||||||
|
command_timeout: 2m
|
||||||
|
script:
|
||||||
|
- docker pull hub.kszny.picaiba.com/kszny/glass-ui
|
||||||
|
- docker run --rm -v /data/www/ksznpt:/tmp hub.kszny.picaiba.com/kszny/glass-ui sh -c "rm -rf /tmp/* && mv -f /html /tmp"
|
||||||
|
depends_on:
|
||||||
|
- publish
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
- name: dockerconfig
|
||||||
|
host:
|
||||||
|
path: /root/.docker
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- projects/mescc/develop
|
||||||
|
event:
|
||||||
|
- push
|
24
Dockerfile
24
Dockerfile
@ -1,21 +1,3 @@
|
|||||||
FROM node:16-alpine as build-stage
|
FROM busybox
|
||||||
|
LABEL maintainer thomas.hairong@gmail.com
|
||||||
WORKDIR /admim
|
COPY dist /html/
|
||||||
|
|
||||||
COPY .npmrc package.json yarn.lock ./
|
|
||||||
RUN --mount=type=cache,id=yarn-store,target=/root/.yarn-store \
|
|
||||||
yarn install --frozen-lockfile
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
ARG NODE_ENV=""
|
|
||||||
RUN env ${NODE_ENV} yarn build:prod
|
|
||||||
|
|
||||||
## -- stage: dist => nginx --
|
|
||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
ENV TZ=Asia/Shanghai
|
|
||||||
|
|
||||||
COPY ./nginx.conf /etc/nginx/conf.d/default.conf
|
|
||||||
COPY --from=build-stage /admim/dist /usr/share/nginx/html
|
|
||||||
|
|
||||||
EXPOSE 80
|
|
||||||
|
Loading…
Reference in New Issue
Block a user