Skip to content

Merge pull request #308 from MBTips/dev #24

Merge pull request #308 from MBTips/dev

Merge pull request #308 from MBTips/dev #24

Workflow file for this run

name: 빌드 자동화
on:
push:
branches:
- main
- feat/cicd
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js (언어 환경)
uses: actions/setup-node@v2
with:
node-version: "20"
- name: Install dependencies
run: |
npm install
npm install tailwindcss@latest postcss@latest autoprefixer@latest
npm install --save-dev @types/node
- name: Create .env file # env 파일 생성 단계 추가
run: |
echo "VITE_API_BASE_URL=${{ secrets.VITE_API_BASE_URL }}" >> .env
echo "VITE_KAKAO_REST_API_KEY=${{ secrets.VITE_KAKAO_REST_API_KEY }}" >> .env
echo "VITE_KAKAO_JAVASCRIPT_KEY=${{ secrets.VITE_KAKAO_JAVASCRIPT_KEY }}" >> .env
echo "VITE_KAKAO_PRODUCTION_REDIRECT_URI=${{ secrets.VITE_KAKAO_PRODUCTION_REDIRECT_URI }}" >> .env
echo "VITE_KAKAO_DEVELOPE_REDIRECT_URI=${{ secrets.VITE_KAKAO_DEVELOPE_REDIRECT_URI }}" >> .env
echo "VITE_GA_MEASUREMENT_ID=${{ secrets.VITE_GA_MEASUREMENT_ID }}" >> .env
echo "VITE_WEBSOCKET_URL=${{ secrets.VITE_WEBSOCKET_URL }}" >> .env
- name: Run build
run: npm run build # 프로젝트에 맞는 빌드 명령어
- name: Docker build & push
run: |
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker build -t ${{ secrets.DOCKER_USERNAME }}/embitips_front .
docker push ${{ secrets.DOCKER_USERNAME }}/embitips_front
- name: Deploy to GCP
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.HOST_PROD }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.PRIVATE_KEY }}
script: |
sudo docker stop embitips_front || true
sudo docker rm embitips_front || true
sudo docker pull ${{ secrets.DOCKER_USERNAME }}/embitips_front
sudo docker run -d -p 5173:5173 --name embitips_front ${{ secrets.DOCKER_USERNAME }}/embitips_front
sudo docker image prune -f