Skip to content

[ENHANCEMENT] Set up CI/CD Pipeline for QA Test Environment and PR Review Deployment Slots #6

@BenGWeeks

Description

@BenGWeeks

Migrated from knowall-ai/zaplie-bot#134

Overview

Set up infrastructure and automation for:

  1. QA Test Environment - Deploy test releases to an intermediate environment before production
  2. PR Review Deployment Slots - Allow reviewers to manually deploy PRs to isolated slots for review

1. QA Test Environment Pipeline

Flow: Developer PR → main branch → Auto-deploy to Test → QA Testing → Manual promote to Production

Azure Infrastructure

  • New App Service instance for testing
  • Node.js runtime configuration
  • Test-specific environment variables isolated from production

GitHub Actions Workflow

  • New workflow: .github/workflows/deploy-test.yml
  • Triggers: release/* or test/* branches + manual dispatch
  • Build: install dependencies, run tests, compile React/Node.js
  • Deploy to test App Service

Environment Configuration

  • GitHub "test" environment with secrets:
    • AZURE_WEBAPP_PUBLISH_PROFILE_TEST
    • TEST_LNBITS_URL
    • TEST_AZURE_CLIENT_ID

2. PR Review Deployment Slots

Workflow

  • Manually triggered by reviewer wanting to test a PR
  • Deploys PR branch to an Azure deployment slot
  • Provides unique URL for the reviewer to access

Azure Infrastructure

  • Use Azure App Service deployment slots (e.g., zaplie-webapp-pr-<number>)
  • Auto-cleanup when PR is merged/closed

GitHub Actions Workflow

  • New workflow: .github/workflows/deploy-pr-review.yml
  • Trigger: workflow_dispatch with PR number input
  • Deploy to named slot
  • Comment on PR with review URL

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions