Skip to content

feature : 기수 3.5 변경 #151

feature : 기수 3.5 변경

feature : 기수 3.5 변경 #151

name: Deploy to GDSC DJU WEB Preview Channel
on:
push:
paths:
- "apps/web/**"
- ".github/workflows/gdsc-dju-web-deploy-preview.yml"
branches-ignore:
- master
pull_request:
branches-ignore:
- master
- develop
paths:
- "apps/web/**"
- ".github/workflows/gdsc-dju-web-deploy-preview.yml"
jobs:
Deploy_preview_channel:
runs-on: ubuntu-latest
env:
working-directory: ./apps/web
environment:
name: GDSC DJU Web Preview
url: ${{ steps.run_firebase_preview.outputs.details_url }}
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: 캐시 폴더를 가져오고 있어요.
id: yarn-cache-dir-path
run: echo "dir=$(cd client && yarn config get cacheFolder)" >> $GITHUB_ENV
- name: 캐시 의존성을 설정하고 있어요.
uses: actions/cache@v3
with:
path: ~/.yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Node 버전/캐싱여부를 설정하고 있어요.
uses: actions/setup-node@v3
with:
node-version: 16
cache: yarn
cache-dependency-path: ./yarn.lock
registry-url: "https://registry.yarnpkg.com"
- name: Setting .env
run: |
echo "VITE_FIREBASE_API_KEY=${{ secrets.VITE_FIREBASE_API_KEY }}" >> .env
echo "VITE_FIREBASE_AUTH_DOMAIN=${{ secrets.VITE_FIREBASE_AUTH_DOMAIN }}" >> .env
echo "VITE_FIREBASE_DATABASE_URL=${{ secrets.VITE_FIREBASE_DATABASE_URL }}" >> .env
echo "VITE_FIREBASE_PROJECT_ID=${{ secrets.VITE_FIREBASE_PROJECT_ID }}" >> .env
echo "VITE_FIREBASE_STORAGE_BUCKET=${{ secrets.VITE_FIREBASE_STORAGE_BUCKET }}" >> .env
echo "VITE_FIREBASE_MESSAGING_SENDER_ID=${{ secrets.VITE_FIREBASE_MESSAGING_SENDER_ID }}" >> .env
echo "VITE_FIREBASE_APPID=${{ secrets.VITE_FIREBASE_APPID }}" >> .env
echo "VITE_FIREBASE_MEASUREMENT_ID=${{ secrets.VITE_FIREBASE_MEASUREMENT_ID }}" >> .env
cat .env
working-directory: ${{ env.working-directory }}
- name: Yarn install
run: yarn install
- name: Project Build
run: yarn turbo build --filter @gdsc-dju/web
- name: Get short SHA
id: slug
run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)"
working-directory: ${{ env.working-directory }}
- uses: HyeokE/action-hosting-deploy@main
id: run_firebase_preview
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_GDSC_DJU }}'
projectId: gdsc-dju
expires: 3d
channelId: ' ${{ steps.slug.outputs.sha8 }}-${{ github.event.pull_request.head.ref }} '
entryPoint: ${{ env.working-directory }}
env:
FIREBASE_CLI_PREVIEWS: hostingchannels
- name: Discord Message Notify
uses: appleboy/[email protected]
with:
webhook_id: ${{ secrets.DISCORD_FRONT_WEBHOOK_ID }}
webhook_token: ${{ secrets.DISCORD_FRONT_WEBHOOK_TOKEN }}
color: "#4285f4"
args: |
gdsc-dju-web has been deployed to Preview channel
`Contributor`: ${{github.actor}}
`Event Status` ${{github.event_name}}
`URL` <${{steps.run_firebase_preview.outputs.details_url}}>
`Build Time` ${{steps.run_firebase_preview.outputs.expire_time}}