Skip to content

feat: check point body #341

feat: check point body

feat: check point body #341

Workflow file for this run

name: docker-build
on:
push:
branches:
- main
- renewal
env:
DB_DATABASE: ${{ (github.ref_name == 'main' && secrets.DB_DATABASE_MAIN) || (github.ref_name == 'renewal' && secrets.DB_DATABASE_RENEWAL) }}
DOCKER_IMAGE_MAIN: ghcr.io/overthestream/blurting:latest
DOCKER_CONTAINER_MAIN: blurting
DOCKER_IMAGE_RENEWAL: ghcr.io/overthestream/blurting:renewal
DOCKER_CONTAINER_RENEWAL: blurting-renewal
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Checkout Source Code
uses: actions/checkout@v3
- name: Setup Docker
id: buildx
uses: docker/setup-buildx-action@v2
- name: docker login
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GHCR_ACCESS_TOKEN }}
- name: build and push image
id: docker_build
uses: docker/build-push-action@v3
with:
push: true
tags: ${{ github.ref_name == 'main' && env.DOCKER_IMAGE_MAIN || env.DOCKER_IMAGE_RENEWAL }}
deploy:
needs: build
runs-on: self-hosted
steps:
- name: setup .env
run: |
echo "DB_HOST=${{ secrets.DB_HOST }}" >> .env
echo "DB_PORT=${{ secrets.DB_PORT }}" >> .env
echo "DB_PASSWORD=${{ secrets.DB_PASSWORD }}" >> .env
echo "DB_USERNAME=${{ secrets.DB_USERNAME }}" >> .env
echo "DB_DATABASE=${{ env.DB_DATABASE }}" >> .env
echo "JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }}" >> .env
echo "ACCESS_TOKEN_SECRET_KEY=${{ secrets.ACCESS_TOKEN_SECRET_KEY }}" >> .env
echo "REFRESH_TOKEN_SECRET_KEY=${{ secrets.REFRESH_TOKEN_SECRET_KEY }}" >> .env
echo "VWORLD_API_KEY=${{ secrets.VWORLD_API_KEY }}" >> .env
echo "VWORLD_DOMAIN=${{ secrets.VWORLD_DOMAIN }}" >> .env
echo "NAVER_API_KEY=${{ secrets.NAVER_API_KEY }}" >> .env
echo "NAVER_API_SECRET=${{ secrets.NAVER_API_SECRET }}" >> .env
echo "SENS_SERVICE_ID=${{ secrets.SENS_SERVICE_ID }}" >> .env
echo "SENS_PHONE_NUMBER=${{ secrets.SENS_PHONE_NUMBER }}" >> .env
echo "MAIL_USER=${{ secrets.MAIL_USER }}" >> .env
echo "MAIL_PW=${{ secrets.MAIL_PW }}" >> .env
echo "S3_ACCESS_KEY=${{ secrets.S3_ACCESS_KEY }}" >> .env
echo "S3_SECRET_KEY=${{ secrets.S3_SECRET_KEY }}" >> .env
echo "AWS_REGION=${{ secrets.AWS_REGION }}" >> .env
echo "AWS_BUCKET_NAME=${{ secrets.AWS_BUCKET_NAME }}" >> .env
echo "AWS_ACL=${{ secrets.AWS_ACL }}" >> .env
echo "MONGO_URI=${{ secrets.MONGO_URI }}" >> .env
echo "FCM_TYPE=${{ secrets.FCM_TYPE }}" >> .env
echo "FCM_PROJECT_ID=${{ secrets.FCM_PROJECT_ID }}" >> .env
echo "FCM_PRIVATE_KEY_ID=${{ secrets.FCM_PRIVATE_KEY_ID }}" >> .env
echo "FCM_PRIVATE_KEY=${{ secrets.FCM_PRIVATE_KEY }}" >> .env
echo "FCM_CLIENT_EMAIL=${{ secrets.FCM_CLIENT_EMAIL }}" >> .env
echo "FCM_CLIENT_ID=${{ secrets.FCM_CLIENT_ID }}" >> .env
echo "FCM_AUTH_URI=${{ secrets.FCM_AUTH_URI }}" >> .env
echo "FCM_TOKEN_URI=${{ secrets.FCM_TOKEN_URI }}" >> .env
echo "FCM_AUTH_CERT_URL=${{ secrets.FCM_AUTH_CERT_URL }}" >> .env
echo "FCM_CLIENT_CERT_URL=${{ secrets.FCM_CLIENT_CERT_URL }}" >> .env
echo "FCM_UNIVERSE_DOMAIN=${{ secrets.FCM_UNIVERSE_DOMAIN }}" >> .env
echo "DISCORD_TOKEN=${{secrets.DISCORD_TOKEN}}" >> .env
echo "APP_STORE_KID=${{secrets.APP_STORE_KID}}" >> .env
echo "APP_STORE_PK=${{secrets.APP_STORE_PK}}" >> .env
echo "APP_STORE_ISSUER_ID=${{secrets.APP_STORE_ISSUER_ID}}" >> .env
echo "APP_STORE_BUNDLE_ID=${{secrets.APP_STORE_BUNDLE_ID}}" >> .env
echo "MESSAGE_API_KEY=${{secrets.MESSAGE_API_KEY}}" >> .env
echo "MESSAGE_API_SECRET=${{secrets.MESSAGE_API_SECRET}}" >> .env
- name: Run Docker
run: |
docker stop ${{ github.ref_name == 'main' && env.DOCKER_CONTAINER_MAIN || env.DOCKER_CONTAINER_RENEWAL }} || true
docker rm ${{ github.ref_name == 'main' && env.DOCKER_CONTAINER_MAIN || env.DOCKER_CONTAINER_RENEWAL }} || true
docker rmi ${{ github.ref_name == 'main' && env.DOCKER_IMAGE_MAIN || env.DOCKER_IMAGE_RENEWAL }} || true
docker run --env-file ./.env -d -p ${{ github.ref_name == 'main' && '3080:3080' || '3081:3081' }} --name ${{ github.ref_name == 'main' && env.DOCKER_CONTAINER_MAIN || env.DOCKER_CONTAINER_RENEWAL }} --network host --restart always ${{ github.ref_name == 'main' && env.DOCKER_IMAGE_MAIN || env.DOCKER_IMAGE_RENEWAL }}