Merge branch 'renewal' of https://github.com/Devkor-github/BLURTING-b… #356
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |