Github Action CI
目录
本文基于github,API由NestJs构建
编译流程
编译文件
Dockerfile
Dockerfile
FROM node:lts-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
FROM node:lts-alpine
WORKDIR /app
COPY --from=builder /app ./
EXPOSE 3000
CMD ["npm", "run", "start:prod"]
deploy.yaml
.github/workflows/deploy.yaml
name: 'deploy'
on:
push:
branches:
- 'prod'
jobs:
cicd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
name: Check out code
- uses: docker/setup-qemu-action@v1
name: Set up QEMU
- uses: docker/login-action@v1
name: Login to HWCloud
with:
registry: swr.cn-north-1.myhuaweicloud.com
username: ${{ secrets.HWCLOUD_USERNAME }}
password: ${{ secrets.HWCLOUD_PASSWORD }}
- uses: docker/build-push-action@v2
name: Build and push
with:
push: true
tags: swr.cn-north-1.myhuaweicloud.com/wishrd/api:latest
file: Dockerfile
编译解释
- on.push.barnches 指定分支执行
- actions/checkout@v2 检出代码
- docker/setup-qemu-action@v1 设置环境
- docker/login-action@v1 登录hub仓库
- docker/build-push-action@v2 编译并推送