ci: make workflow reusable only (remove push trigger)

This commit is contained in:
2026-09-19 20:41:58 +03:30
parent a740688b4d
commit ba5074718c
+2 -113
View File
@@ -1,10 +1,6 @@
name: Dev Deploy to Staging name: Dev Deploy to Staging
on: on:
push: workflow_call: # این فایل فقط قابل فراخوانی توسط ریپوهای دیگر است
branches:
- dev
workflow_dispatch:
workflow_call:
env: env:
REGISTRY: 192.168.1.8:8084 REGISTRY: 192.168.1.8:8084
@@ -74,111 +70,4 @@ jobs:
cd /srv/staging/narng-platform/compose cd /srv/staging/narng-platform/compose
docker compose pull $SERVICE docker compose pull $SERVICE
docker compose up -d --force-recreate --no-deps $SERVICE docker compose up -d --force-recreate --no-deps $SERVICE
docker image prune -f docker image prune -f
# name: Dev Deploy to Staging
# on:
# push:
# branches:
# - dev
# workflow_dispatch:
# workflow_call: # برای استفاده در ریپوهای دیگر
# env:
# REGISTRY: 192.168.1.8:8084
# jobs:
# build-and-deploy:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - name: Determine service metadata
# id: meta
# run: |
# REPO_NAME=$(basename ${{ github.repository }})
# case "$REPO_NAME" in
# narng-api-laravel)
# SERVICE="laravel"
# TAG_VAR="LARAVEL_TAG"
# ;;
# narng-api | narng-api-gateway)
# SERVICE="api"
# TAG_VAR="API_TAG"
# ;;
# narng-web-app)
# SERVICE="web"
# TAG_VAR="WEB_TAG"
# ;;
# *)
# SERVICE=$(echo "$REPO_NAME" | sed 's/^narng-//')
# TAG_VAR=$(echo "$SERVICE" | tr '[:lower:]' '[:upper:]')_TAG
# ;;
# esac
# echo "SERVICE=$SERVICE" >> $GITHUB_OUTPUT
# echo "TAG_VAR=$TAG_VAR" >> $GITHUB_OUTPUT
# echo "REPO_NAME=$REPO_NAME" >> $GITHUB_OUTPUT
# echo "IMAGE=${{ env.REGISTRY }}/$REPO_NAME" >> $GITHUB_OUTPUT
# - name: Generate version
# id: version
# run: |
# VERSION="1.0.0-dev.${{ github.run_number }}"
# echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
# - name: Build Docker image
# env:
# DOCKER_BUILDKIT: 1
# run: |
# IMAGE=${{ steps.meta.outputs.IMAGE }}
# VERSION=${{ steps.version.outputs.VERSION }}
# export DOCKER_BUILDKIT=1
# docker buildx build \
# --builder default \
# --tag "$IMAGE:$VERSION" \
# --tag "$IMAGE:1.0.0-latest" \
# --load \
# . 2>&1 | tail -20
# - name: Login to Nexus
# env:
# NEXUS_USER: ${{ secrets.NEXUS_USER }}
# NEXUS_PASS: ${{ secrets.NEXUS_PASS }}
# run: |
# echo "$NEXUS_PASS" | docker login ${{ env.REGISTRY }} -u "$NEXUS_USER" --password-stdin
# - name: Push to Nexus
# run: |
# IMAGE=${{ steps.meta.outputs.IMAGE }}
# VERSION=${{ steps.version.outputs.VERSION }}
# docker push "$IMAGE:$VERSION"
# docker push "$IMAGE:1.0.0-latest"
# - name: Deploy to staging (Host-level)
# run: |
# SERVICE=${{ steps.meta.outputs.SERVICE }}
# VERSION=${{ steps.version.outputs.VERSION }}
# TAG_VAR=${{ steps.meta.outputs.TAG_VAR }}
# echo "Deploying $SERVICE:$VERSION"
# # آپدیت فایل .env در مسیر صحیح سرور
# docker run --rm -v /srv/staging/narng-platform:/srv/staging/narng-platform alpine sh -c "sed -i 's|^${TAG_VAR}=.*|${TAG_VAR}=${VERSION}|' /srv/staging/narng-platform/compose/.env"
# # ری‌استارت کانتینر با استفاده از فایل .env صحیح
# docker run --rm \
# -v /var/run/docker.sock:/var/run/docker.sock \
# -v /srv/staging/narng-platform:/srv/staging/narng-platform:ro \
# -w /srv/staging/narng-platform/compose \
# docker:24-cli \
# sh -c "docker compose --env-file .env up -d --no-deps $SERVICE"
# - name: Verify
# run: |
# SERVICE=${{ steps.meta.outputs.SERVICE }}
# CONTAINER="staging-narng-${SERVICE}"
# sleep 10
# STATUS=$(docker inspect --format='{{.State.Status}}' "$CONTAINER" 2>/dev/null || echo "not found")
# echo "Container: $CONTAINER - Status: $STATUS"