260323:1333 fix CI : Verify relaase : 🐋 Login to Internal Registry #04
CI / CD Pipeline / build (push) Successful in 8m22s
CI / CD Pipeline / deploy (push) Failing after 19s

This commit is contained in:
admin
2026-03-23 13:33:10 +07:00
parent f82a32fbe4
commit 47228506dc
2 changed files with 20 additions and 59 deletions
+2 -47
View File
@@ -54,53 +54,10 @@ jobs:
cd ../frontend && pnpm build
# ============================================================
# JOB 2 : Build & Push Image (Release Stage)
# ============================================================
release:
needs: build
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
container: catthehacker/ubuntu:act-latest
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: 🏷️ Get Version
id: pkg-version
run: |
VERSION=$(node -p "require('./backend/package.json').version")
echo "VERSION=$VERSION" >> $GITHUB_OUTPUT
echo "Releasing version: $VERSION"
- name: 🐋 Login to Gitea Container Registry
uses: docker/login-action@v3
with:
registry: git.np-dms.work
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: 🏗️ Build & Push Backend
run: |
docker build -f backend/Dockerfile \
-t git.np-dms.work/${{ github.repository_owner }}/lcbp3-backend:${{ steps.pkg-version.outputs.VERSION }} \
-t git.np-dms.work/${{ github.repository_owner }}/lcbp3-backend:latest .
docker push git.np-dms.work/${{ github.repository_owner }}/lcbp3-backend:${{ steps.pkg-version.outputs.VERSION }}
docker push git.np-dms.work/${{ github.repository_owner }}/lcbp3-backend:latest
- name: 🏗️ Build & Push Frontend
run: |
docker build -f frontend/Dockerfile \
--build-arg NEXT_PUBLIC_API_URL=${{ secrets.NEXT_PUBLIC_API_URL }} \
-t git.np-dms.work/${{ github.repository_owner }}/lcbp3-frontend:${{ steps.pkg-version.outputs.VERSION }} \
-t git.np-dms.work/${{ github.repository_owner }}/lcbp3-frontend:latest .
docker push git.np-dms.work/${{ github.repository_owner }}/lcbp3-frontend:${{ steps.pkg-version.outputs.VERSION }}
docker push git.np-dms.work/${{ github.repository_owner }}/lcbp3-frontend:latest
# ============================================================
# JOB 3 : Deploy — Trigger Blue-Green on QNAP
# JOB 2 : Deploy — Trigger Blue-Green on QNAP
# ============================================================
deploy:
needs: release
needs: build
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
@@ -130,6 +87,4 @@ jobs:
echo "🚀 Executing Blue-Green deployment..."
# Pass registry credentials if needed by the pull command in deploy.sh
export DB_PASSWORD="${{ secrets.DB_PASSWORD }}"
export REGISTRY_USER="${{ github.repository_owner }}"
export REGISTRY_TOKEN="${{ secrets.GITHUB_TOKEN }}"
./scripts/deploy.sh
+18 -12
View File
@@ -43,21 +43,27 @@ docker exec lcbp3-mariadb mysqldump -u root -p"${DB_PASSWORD}" lcbp3_dms > "$BAC
gzip "$BACKUP_FILE"
echo "✓ Backup created: $BACKUP_FILE.gz"
# Step 2: Pull latest images from registry
echo "[2/9] Pulling latest Docker images from internal registry..."
cd "$LCBP3_DIR/$TARGET"
# Step 2: Build latest images directly on QNAP
echo "[2/9] Building latest Docker images from source..."
cd "/share/np-dms/app/source/lcbp3"
if [ -n "$REGISTRY_TOKEN" ] && [ -n "$REGISTRY_USER" ]; then
echo "Logging into Gitea Container Registry..."
echo "$REGISTRY_TOKEN" | docker login git.np-dms.work -u "$REGISTRY_USER" --password-stdin
echo "Updating docker-compose.yml to use Gitea registry images..."
sed -i -E "s|image: (git\.np-dms\.work/[^/]+/)?lcbp3-backend|image: git.np-dms.work/$REGISTRY_USER/lcbp3-backend|g" docker-compose.yml
sed -i -E "s|image: (git\.np-dms\.work/[^/]+/)?lcbp3-frontend|image: git.np-dms.work/$REGISTRY_USER/lcbp3-frontend|g" docker-compose.yml
# Extract API_URL for Frontend Build Argument
API_URL="https://lcbp3-dms.example.com/api"
if [ -f "$LCBP3_DIR/$TARGET/.env.production" ]; then
ENV_URL=$(grep NEXT_PUBLIC_API_URL "$LCBP3_DIR/$TARGET/.env.production" | cut -d '=' -f2)
[ -n "$ENV_URL" ] && API_URL="$ENV_URL"
fi
docker-compose pull
echo "✓ Images pulled"
echo "Building backend..."
docker build -f backend/Dockerfile -t lcbp3-backend:latest .
echo "Building frontend with API URL: $API_URL..."
docker build -f frontend/Dockerfile --build-arg NEXT_PUBLIC_API_URL="$API_URL" -t lcbp3-frontend:latest .
echo "✓ Images built successfully"
# Move correctly to target directory for docker-compose up
cd "$LCBP3_DIR/$TARGET"
# Step 3: Update configuration
echo "[3/9] Updating configuration..."