From cfceb2877f7785250ca2bdbcfce1571742856c89 Mon Sep 17 00:00:00 2001 From: mahan Date: Thu, 12 Feb 2026 10:02:00 +0330 Subject: [PATCH] Update deploy-dev.yml for improved deployment process and DNS fix --- .gitea/workflows/deploy-dev.yml | 36 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/.gitea/workflows/deploy-dev.yml b/.gitea/workflows/deploy-dev.yml index 2a1fe6e5..eafccb47 100644 --- a/.gitea/workflows/deploy-dev.yml +++ b/.gitea/workflows/deploy-dev.yml @@ -1,23 +1,31 @@ -name: Deploy Dev (Branch Trigger) - +name: Deploy Dev (Fixed) on: push: - branches: - - Feature/general/docker + branches: [ Feature/general/docker ] env: IMAGE_NAME: gozareshgir-api - # مسیری که فایل docker-compose.yml مخصوص تست در سرور قرار دارد SERVER_PATH: ~/apps/test-dev/backend-api jobs: build-and-deploy: - runs-on: ubuntu-latest + # ✅ self-hosted runner + runs-on: [self-hosted, ubuntu-latest] + steps: + # ✅ Fix DNS - IP واقعی Gitea! + - name: Fix Gitea DNS + run: | + echo "172.21.0.4 server" | sudo tee -a /etc/hosts + echo "✅ Gitea server resolved to 172.21.0.4" + ping -c 1 server + - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 1 + token: ${{ secrets.GITEA_PAT }} # Personal Access Token - # 1. لاگین به داکر هاب/رجیستری شخصی - name: Login to Docker Registry uses: docker/login-action@v3 with: @@ -25,7 +33,6 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - # 2. بیلد و پوش کردن ایمیج با تگ :dev - name: Build and Push uses: docker/build-push-action@v5 with: @@ -33,14 +40,13 @@ jobs: push: true tags: ${{ secrets.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:dev - # 3. اتصال به سرور و آپدیت سرویس - - name: Update Service on Test Server + - name: Deploy to Test Server uses: appleboy/ssh-action@v1.0.3 env: DOCKER_REGISTRY: ${{ secrets.DOCKER_REGISTRY }} DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} - APP_VERSION: dev # ورژن تست همیشه dev است + APP_VERSION: dev with: host: ${{ secrets.SSH_HOST_TEST }} username: ${{ secrets.SSH_USERNAME_TEST }} @@ -49,16 +55,8 @@ jobs: envs: DOCKER_REGISTRY,DOCKER_USERNAME,DOCKER_PASSWORD,APP_VERSION script: | cd ${{ env.SERVER_PATH }} - - # لاگین مجدد در سرور برای اطمینان echo "$DOCKER_PASSWORD" | docker login $DOCKER_REGISTRY -u $DOCKER_USERNAME --password-stdin - - # اکسپورت کردن ورژن برای اینکه فایل داکر-کمپوز سرور آن را بشناسد export APP_VERSION=$APP_VERSION - - # دانلود ایمیج جدید و آپدیت کانتینر docker compose pull docker compose up -d --remove-orphans - - # پاک کردن ایمیج‌های قدیمی برای پر نشدن فضای سرور docker image prune -f