feat(ghbot): add deploy and dockerfile

This commit is contained in:
zkldi
2022-09-28 22:33:26 +01:00
parent 7f8530ac6d
commit fa7f8d5e08
2 changed files with 66 additions and 0 deletions
+57
View File
@@ -0,0 +1,57 @@
name: GitHub Bot CI/CD
on:
push:
branches:
- "release/*"
paths:
- "github-bot/**"
workflow_dispatch:
jobs:
docker-push:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./github-bot
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Docker Hub login
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Version tag
run: 'echo "VERSION_TAG=$(cat package.json | grep version | head -1 | awk -F: ''{ print $2 }'' | sed ''s/[", ]//g'')" >> $GITHUB_ENV'
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_USERNAME }}/tachi-gh-bot:stable,${{ secrets.DOCKER_USERNAME }}/tachi-bot:${{ env.VERSION_TAG }},
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
deploy:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./github-bot
needs: [docker-push]
steps:
- name: Deploy
uses: appleboy/ssh-action@1a8b3784eaa665f677fa114edd5683bb6a6bfaa8
with:
host: ${{ secrets.TACHI_HOST }}
username: tachi
key: ${{ secrets.TACHI_KEY }}
script: tachi-github-bot-deploy
+9
View File
@@ -0,0 +1,9 @@
FROM node:16 as build
WORKDIR /app
COPY --chown=node:node . /app
RUN npm install --silent -g pnpm@6 && groupmod -g 1003 node && chown node:node /app
USER node
RUN pnpm install --silent && pnpm build && pnpm prune --silent --production && pnpm store prune --silent
HEALTHCHECK --interval=15s --timeout=5s CMD curl -f http://localhost:8080 || exit 1
ENV NODE_PATH=js/
CMD ["node", "js/main.js"]