Merge pull request #308 from MBTips/dev #24
This file contains hidden or 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: 빌드 자동화 | |
| 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 |