diff --git a/.github/workflows/ci-dev.yml b/.github/workflows/ci-dev.yml new file mode 100644 index 0000000..69466ad --- /dev/null +++ b/.github/workflows/ci-dev.yml @@ -0,0 +1,44 @@ +name: Deploy - prod + +on: + push: + branches: + - feat/Docker-Deploy + +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: github.ref == 'refs/heads/dev' + run: echo "${{ secrets.STAGING_ENV }}" > .env + + - name: docker build and push + run: | + docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} + docker build -t ${{ secrets.DOCKER_REPO }}/clubber-front . + docker push ${{ secrets.DOCKER_REPO }}/clubber-front + + - name: executing remote ssh commands using password + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.SSH_HOST }} + username: ${{ secrets.SSH_USERNAME }} + key: ${{ secrets.SSH_KEY }} + port: ${{ secrets.SSH_PORT }} + script: | + sudo docker rm -f $(docker ps -qa) + sudo docker pull ${{ secrets.DOCKER_REPO }}/clubber-front + docker-compose up -d + docker image prune -f