Skip to content

Commit

Permalink
Feat: prod actions script (test)
Browse files Browse the repository at this point in the history
  • Loading branch information
jokj624 committed Jan 7, 2024
1 parent c39bca7 commit 9e3fe26
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions .github/workflows/main-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: havit-server-prod-test

on:
push:
branches: [feature/48]

jobs:
build:
env:
PORT: ${{ secrets.PORT }}
MONGODB_URI_DEV: ${{ secrets.MONGODB_URI_DEV }}
MONGODB_URI_PROD: ${{ secrets.MONGODB_URI_PROD }}
REGION: ${{ secrets.REGION }}

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x]

steps:
- uses: actions/checkout@v2

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}

- name: Create .env file
run: |
touch .env
echo MONGODB_URI_DEV=${{ secrets.MONGODB_URI_DEV }} >> .env
echo MONGODB_URI_PROD=${{ secrets.MONGODB_URI_PROD }} >> .env
echo PORT=${{ secrets.PORT }} >> .env
echo DEV_PORT=${{ secrets.DEV_PORT }} >> .env
echo DOCKERFILE=Dockerfile >> .env
cat .env
- name: create-json
id: create-json
uses: jsdaniell/[email protected]
with:
name: 'fcm-admin-credentials.json'
json: ${{ secrets.FIREBASE_JSON_DEV }}
dir: 'src/'

- name: Install dependencies
run: yarn
- name: Run build
run: yarn build

- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{secrets.DOCKER_HUB_USERNAME}}
password: ${{secrets.DOCKER_HUB_TOKEN}}

- name: build and tagging release to DockerHub
env:
NAME: ${{secrets.DOCKER_HUB_USERNAME}}
REPO: havit-push
run: |
shortHash=$(git rev-parse --short ${{ github.sha }})
docker build -t $REPO -f Dockerfile .
docker tag $REPO:latest $NAME/$REPO:latest
docker tag $REPO:latest $NAME/$REPO:prod
docker tag $REPO:latest $NAME/$REPO:prod-$shortHash
docker push $NAME/$REPO:latest
docker push $NAME/$REPO:prod
docker push $NAME/$REPO:prod-$shortHash
# - name: Run Deploy Script
# uses: appleboy/ssh-action@master
# with:
# host: ${{ secrets.REMOTE_IP }}
# username: ${{ secrets.REMOTE_SSH_ID }}
# key: ${{ secrets.REMOTE_SSH_KEY }}
# port: ${{ secrets.REMOTE_SSH_PORT }}
# script: |
# cd /opt/havit/docker
# sudo /opt/havit/docker/deploy.sh

- name: action-slack
uses: 8398a7/action-slack@v3
with:
status: ${{ job.status }}
author_name: Github Action Push Server
fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEV }} # required
if: always() # Pick up events even if the job fails or is canceled.

0 comments on commit 9e3fe26

Please sign in to comment.