Merge pull request #17 from MHP24/dev #20
This file contains 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: publish | |
on: | |
push: | |
branches: ["main"] | |
jobs: | |
create-docker-image: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout the code | |
uses: actions/checkout@v2 | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v1 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.TOKEN_CD }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Build and push the Docker image | |
run: | | |
docker buildx build \ | |
--platform linux/amd64,linux/arm64 \ | |
--build-arg VITE_SERVER_URL=${{ secrets.VITE_SERVER_URL }} \ | |
--build-arg VITE_BASE_BUILD_URL=${{ secrets.VITE_BASE_BUILD_URL }} \ | |
--tag ${{ secrets.DOCKER_PRODUCTION_IMAGE }} \ | |
--push . | |
deploy: | |
needs: create-docker-image | |
runs-on: ubuntu-latest | |
steps: | |
- name: Remote SSH deploy | |
uses: appleboy/ssh-action@v1.0.0 | |
with: | |
host: ${{ secrets.SSH_HOST }} | |
port: ${{ secrets.SSH_PORT }} | |
username: ${{ secrets.SSH_USER }} | |
password: ${{ secrets.SSH_PASSWORD }} | |
key: ${{ secrets.SSH_PRIVATE_KEY }} | |
script: | | |
cd ${{ secrets.PROJECT_DIR }} | |
docker login ghcr.io -u ${{ secrets.DOCKER_PRODUCTION_REGISTRY }} -p ${{ secrets.TOKEN_CD }} | |
docker compose -f docker-compose.prod.yml down | |
docker container prune -f | |
docker image rm ${{ secrets.DOCKER_PRODUCTION_IMAGE }} -f | |
docker compose -f docker-compose.prod.yml up -d |