ci: 新增CI

This commit is contained in:
zhaoyingbo 2023-09-04 14:45:56 +08:00
parent 3fbcef7994
commit 13a0bb4885
3 changed files with 78 additions and 0 deletions

View File

@ -0,0 +1,56 @@
name: Egg CI/CD
on: [push]
jobs:
build-image:
runs-on: mi-server
container: catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
registry: git.yingbo.im:333
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v4
with:
push: true
tags: git.yingbo.im:333/zhaoyingbo/egg_server:latest
deploy:
needs: build-image
runs-on: mi-server
container: catthehacker/ubuntu:act-latest
steps:
# 检出代码
- name: Check out repository code
uses: actions/checkout@v3
# 使用scp命令将docker-compose.yml文件上传到服务器
- name: Upload docker-compose.yml to server
uses: appleboy/scp-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: ${{ secrets.SERVER_PORT }}
source: docker-compose.yml
target: /root/docker/egg_server
# 登录服务器执行docker-compose命令
- name: Login to the server and execute docker-compose command
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_HOST }}
username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_KEY }}
port: ${{ secrets.SERVER_PORT }}
script: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} git.yingbo.im:333
docker-compose -f /root/docker/egg_server/docker-compose.yml down
docker-compose -f /root/docker/egg_server/docker-compose.yml pull
docker-compose -f /root/docker/egg_server/docker-compose.yml up -d

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN yarn
COPY . .
EXPOSE 3000
CMD ["yarn", "start"]

9
docker-compose.yml Normal file
View File

@ -0,0 +1,9 @@
version: "3"
services:
server:
image: git.yingbo.im:333/zhaoyingbo/egg_server:latest
container_name: egg_server
restart: always
ports:
- 3000:3000