diff --git a/.gitea/push.yml b/.gitea/push.yml new file mode 100644 index 0000000..0d0c129 --- /dev/null +++ b/.gitea/push.yml @@ -0,0 +1,43 @@ +name: Docker Build & Deploy +on: + workflow_dispatch: + push: + branches: [ main ] + +env: + COMPOSE_PROJECT_NAME: jdcoupons + IMAGE_NAME: jdcoupons-app + +jobs: + build: + name: Build Docker Image + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + with: + gitea-server: http://suncheng.asia:14200 + token: ${{ secrets.GITEA_TOKEN }} + ref: ${{ gitea.ref }} + + - name: Cleanup old containers + run: | + docker compose -p $COMPOSE_PROJECT_NAME down || true + docker rmi $IMAGE_NAME || true + + - name: Build new image + run: docker build -t $IMAGE_NAME . + + deploy: + name: Deploy to Production + runs-on: ubuntu-latest + needs: build + environment: production + steps: + - name: Checkout code + uses: https://gitea.com/actions/checkout@v3 + + - name: Start containers + run: | + docker compose -p $COMPOSE_PROJECT_NAME down + docker compose -p $COMPOSE_PROJECT_NAME up -d --build \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e1f17cc..d26e33a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -35,4 +35,4 @@ deploy-job: # This job runs in the deploy stage. script: - echo "deploying..." - docker compose up -d - - echo "deploy completed." + - echo "deploy completed." \ No newline at end of file diff --git a/jdcoupons.sln b/jdcoupons.sln index 2a4bc2c..6fb5c39 100644 --- a/jdcoupons.sln +++ b/jdcoupons.sln @@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Dockerfile = Dockerfile .dockerignore = .dockerignore .gitignore = .gitignore + .gitea\push.yml = .gitea\push.yml EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Web", "src\Web\Web.csproj", "{66A8DE76-1439-4BB5-861D-E37BDD75E350}"