diff --git a/.gitea/workflows/default.yml b/.gitea/workflows/default.yml new file mode 100644 index 0000000..f273f88 --- /dev/null +++ b/.gitea/workflows/default.yml @@ -0,0 +1,46 @@ +name: Gitea CI/CD + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Login to Docker registry + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + registry: https://registry.rokoh.com + + - name: Build Docker image + run: docker build . -t whypair:latest -f whypair/Dockerfile + + - name: Tag Docker image + run: docker tag whypair:latest registry.rokoh.com/whypair:latest + + - name: Push Docker image to registry + run: docker push registry.rokoh.com/whypair:latest + + - name: SSH Deploy + uses: appleboy/ssh-action@v1.0.3 + with: + host: 10.1.1.90 + username: ${{ secrets.SERVER_USERNAME }} + password: ${{ secrets.SERVER_PASSWORD }} + script: | + if docker ps -a --format '{{.Names}}' | grep -q whypair; then + docker stop whypair || true + docker rm whypair || true + docker image rm whypair:latest + fi + docker login registry.rokoh.com -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} && docker image pull registry.rokoh.com/whypair:latest + docker run -d -p 4000:80 --restart=always --name whypair registry.rokoh.com/whypair + docker image prune -f + + - name: Prune Docker resources + run: docker system prune -af --volumes \ No newline at end of file