diff --git a/.github/workflows/dev-build-image.yaml b/.github/workflows/dev-build-image.yaml new file mode 100644 index 0000000..73ee94e --- /dev/null +++ b/.github/workflows/dev-build-image.yaml @@ -0,0 +1,17 @@ +name: Build docker image on push to develop + +on: + push: + branches: ["develop"] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Build the Docker image + run: docker build . -f Dockerfile -t ghcr.io/sparcs-kaist/zabo-front:dev + - name: Log in to DockerHub + run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u USERNAME --password-stdin + - name: Push the Docker image + run: docker push ghcr.io/sparcs-kaist/zabo-front:dev diff --git a/.github/workflows/dev-deploy.yaml b/.github/workflows/dev-deploy.yaml new file mode 100644 index 0000000..0d2d471 --- /dev/null +++ b/.github/workflows/dev-deploy.yaml @@ -0,0 +1,31 @@ +name: Deploy to dev server + +# when dev image build action is completed, run this action +on: + workflow_run: + workflows: ["Build docker image on push to develop"] + types: + - completed + +jobs: + if_workflow_success: + name: Deploy to dev server + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + + steps: + - name: executing remote ssh commands using password + uses: appleboy/ssh-action@v1.0.0 + with: + host: ${{ secrets.HOST }} + port: ${{ secrets.PORT }} + username: ${{ secrets.USERNAME }} + password: ${{ secrets.PASSWORD }} + proxy_host: ${{ secrets.PROXY_HOST }} + proxy_port: ${{ secrets.PROXY_PORT }} + proxy_username: ${{ secrets.PROXY_USERNAME }} + proxy_password: ${{ secrets.PROXY_PASSWORD }} + script: | + docker pull ghcr.io/sparcs-kaist/zabo-front:dev + docker rm -f zabo-front + docker run --restart always -d -p 15081:80 --name zabo-front ghcr.io/sparcs-kaist/zabo-front:dev