Merge pull request #242 from Clubber2024/dev #149
Workflow file for this run
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: CI-CD | |
| on: | |
| push: | |
| branches: ['main', 'release'] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [16.16.0] | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v1 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| - name: Set environment variables for staging | |
| if: contains(github.ref, 'release') | |
| run: echo "${{ secrets.STAGING_ENV }}" > .env | |
| - name: Set environment variables for prod | |
| if: contains(github.ref, 'main') | |
| run: echo "${{ secrets.PRODUCTION_ENV }}" > .env | |
| - name: Docker build and push to release | |
| if: contains(github.ref, 'release') | |
| run: | | |
| docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker build -t ${{ secrets.DOCKER_REPO }}/clubber-front-release . | |
| docker push ${{ secrets.DOCKER_REPO }}/clubber-front-release | |
| - name: Docker build and push to prod | |
| if: contains(github.ref, 'main') | |
| run: | | |
| docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} | |
| docker build -t ${{ secrets.DOCKER_REPO }}/clubber-front-prod . | |
| docker push ${{ secrets.DOCKER_REPO }}/clubber-front-prod | |
| - name: Deploy to release | |
| if: contains(github.ref, 'release') | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.HOST_DEV }} | |
| username: ${{ secrets.SSH_USERNAME }} | |
| key: ${{ secrets.SSH_KEY_DEV }} | |
| port: ${{ secrets.SSH_PORT }} | |
| script: | | |
| sudo docker rm -f $(docker ps -qa) | |
| sudo docker pull ${{ secrets.DOCKER_REPO }}/clubber-front-release | |
| sudo docker-compose -f docker-compose-dev.yml up -d | |
| docker image prune -f | |
| - name: Deploy to prod | |
| if: contains(github.ref, 'main') | |
| uses: appleboy/ssh-action@master | |
| with: | |
| host: ${{ secrets.HOST_PROD }} | |
| username: ${{ secrets.SSH_USERNAME }} | |
| key: ${{ secrets.SSH_KEY_PROD }} | |
| port: ${{ secrets.SSH_PORT }} | |
| script: | | |
| sudo docker rm -f $(docker ps -qa) | |
| sudo docker pull ${{ secrets.DOCKER_REPO }}/clubber-front-prod | |
| sudo docker-compose -f docker-compose-prod.yml up -d | |
| docker image prune -f |