From a9a876086d89435362ff6482a6b117b9fc41f65e Mon Sep 17 00:00:00 2001 From: parseh negar Date: Mon, 21 Sep 2026 16:59:49 +0330 Subject: [PATCH] fix: clean workflow file (remove duplicate content) --- .gitea/workflows/dev-deploy.yml | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/.gitea/workflows/dev-deploy.yml b/.gitea/workflows/dev-deploy.yml index d1d7fc8..48d5ad0 100644 --- a/.gitea/workflows/dev-deploy.yml +++ b/.gitea/workflows/dev-deploy.yml @@ -21,7 +21,7 @@ jobs: build-and-deploy: runs-on: ubuntu-latest steps: - - name: Checkout service code (dynamic repo) + - name: Checkout service code uses: actions/checkout@v4 with: repository: ${{ env.ORG }}/${{ inputs.repo_name }} @@ -51,21 +51,13 @@ jobs: env: STAGING_SSH_KEY: ${{ secrets.STAGING_SSH_KEY }} run: | - # نوشتن کلید در فایل echo "$STAGING_SSH_KEY" > /tmp/deploy_key_raw - - # بررسی اینکه آیا base64 است یا مستقیم if head -1 /tmp/deploy_key_raw | grep -q "BEGIN OPENSSH PRIVATE KEY"; then - # کلید مستقیم است (multi-line) cp /tmp/deploy_key_raw /tmp/deploy_key else - # کلید base64 است (single-line) base64 -d /tmp/deploy_key_raw > /tmp/deploy_key fi - chmod 600 /tmp/deploy_key - - # بررسی صحت کلید ssh-keygen -l -f /tmp/deploy_key || { echo "ERROR: Invalid SSH key"; exit 1; } - name: Login to Nexus @@ -96,4 +88,23 @@ jobs: NEXUS_USER: ${{ secrets.NEXUS_USER }} NEXUS_PASS: ${{ secrets.NEXUS_PASS }} SERVICE: ${{ steps.meta.outputs.service }} - VERSION: ${{ steps.meta.outputs \ No newline at end of file + VERSION: ${{ steps.meta.outputs.version }} + TAG_VAR: ${{ steps.meta.outputs.tag_var }} + REGISTRY: ${{ env.REGISTRY }} + COMPOSE_PATH: ${{ env.COMPOSE_PATH }} + with: + host: ${{ secrets.STAGING_HOST }} + username: ${{ secrets.STAGING_USER }} + key_path: /tmp/deploy_key + port: 2222 + envs: NEXUS_USER,NEXUS_PASS,SERVICE,VERSION,TAG_VAR,REGISTRY,COMPOSE_PATH + script: | + set -ex + echo "Deploying $SERVICE:$VERSION" + echo "$NEXUS_PASS" | docker login "$REGISTRY" -u "$NEXUS_USER" --password-stdin + sed -i "s|^${TAG_VAR}=.*|${TAG_VAR}=${VERSION}|" "$COMPOSE_PATH/.env" + cd "$COMPOSE_PATH" + docker compose pull "$SERVICE" + docker compose up -d --force-recreate --no-deps "$SERVICE" + docker image prune -f + echo "✅ $SERVICE:$VERSION deployed" \ No newline at end of file