lol #10
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: CI | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
build_and_push: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout main | |
uses: actions/checkout@v3 | |
- name: Build container image | |
run: docker build --no-cache -t kotatsu111/yumetune:backend . | |
- name: Log in Docker Hub | |
run: docker login -u ${{ secrets.DOCKER_LOGIN }} -p ${{ secrets.DOCKER_PASSWORD }} | |
- name: Push image to Docker Hub | |
run: docker push kotatsu111/yumetune:backend | |
deploy: | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' | |
needs: build_and_push | |
steps: | |
- name: Deploy to VDS via SSH | |
uses: appleboy/[email protected] | |
with: | |
host: ${{ secrets.VDS_HOST }} | |
username: kotatsu | |
password: ${{ secrets.VDS_PASSWORD }} | |
port: 22 | |
script: | | |
# Login to Docker Hub | |
sudo docker login -u ${{ secrets.DOCKER_LOGIN }} -p ${{ secrets.DOCKER_PASSWORD }} | |
# Stop running container | |
sudo docker stop yumetune-backend-cont | |
# Remove old container | |
sudo docker rm yumetune-backend-cont | |
# Remove old image | |
sudo docker rmi kotatsu111/yumetune:backend | |
# Pull from Docker Hub | |
sudo docker pull kotatsu111/yumetune:backend | |
# Run a new container from a new image | |
sudo docker run -d --name yumetune-backend-cont -p 8000:8000 -e POSTGRES_URL=${{ secrets.POSTGRES_URL }} -e AUTHJWT_SECRET_KEY=${{ secrets.AUTHJWT_SECRET_KEY }} kotatsu111/yumetune:backend |