75 lines
1.9 KiB
Markdown
75 lines
1.9 KiB
Markdown
# CodeApps Repository
|
|
|
|
This repository contains:
|
|
|
|
- [CodeApp_NeonReactor](CodeApp_NeonReactor/README.md): React + TypeScript Power Apps Code App POC.
|
|
- [pipeline-dev.yml](pipeline-dev.yml): DEV build and deploy pipeline for the code app.
|
|
- [pipeline-prod.yml](pipeline-prod.yml): Promotion pipeline that exports solution, waits for approval, and imports to PROD.
|
|
|
|
## Azure DevOps Pipeline Variables
|
|
|
|
### DEV Pipeline ([pipeline-dev.yml](pipeline-dev.yml))
|
|
|
|
Required variables:
|
|
|
|
- CODEAPP_DIR
|
|
- NODE_VERSION
|
|
- PAC_CLI_VERSION
|
|
- SERVICE_USERNAME
|
|
- TENANT_ID
|
|
- ENVIRONMENT_URL
|
|
- SERVICE_PASSWORD (secret)
|
|
|
|
Example values:
|
|
|
|
```text
|
|
CODEAPP_DIR=CodeApp_NeonReactor
|
|
NODE_VERSION=22.x
|
|
PAC_CLI_VERSION=2.8.1
|
|
SERVICE_USERNAME=service@powerplatform.top
|
|
TENANT_ID=dcee9b15-6454-467c-8428-2a2a3eea1bf1
|
|
ENVIRONMENT_URL=https://lagodev.crm4.dynamics.com
|
|
SERVICE_PASSWORD=********
|
|
```
|
|
|
|
Notes:
|
|
|
|
- Set SERVICE_PASSWORD as secret in Azure DevOps.
|
|
- ENVIRONMENT_ID is not used by [pipeline-dev.yml](pipeline-dev.yml).
|
|
|
|
### PROD Pipeline ([pipeline-prod.yml](pipeline-prod.yml))
|
|
|
|
Required variables:
|
|
|
|
- SOLUTION_UNIQUE_NAME
|
|
- SOURCE_ENVIRONMENT_URL
|
|
- SOURCE_USERNAME
|
|
- SOURCE_TENANT_ID
|
|
- SOURCE_PASSWORD (secret)
|
|
- PROD_ENVIRONMENT_URL
|
|
- PROD_USERNAME
|
|
- PROD_PASSWORD (secret)
|
|
- TARGET_TENANT_ID (preferred) or PROD_TENANT_ID
|
|
|
|
Example values:
|
|
|
|
```text
|
|
SOLUTION_UNIQUE_NAME=Neon_Reactor
|
|
SOURCE_ENVIRONMENT_URL=https://lagodev.crm4.dynamics.com
|
|
SOURCE_USERNAME=service@powerplatform.top
|
|
SOURCE_TENANT_ID=dcee9b15-6454-467c-8428-2a2a3eea1bf1
|
|
SOURCE_PASSWORD=********
|
|
PROD_ENVIRONMENT_URL=https://your-prod-org.crm4.dynamics.com
|
|
PROD_USERNAME=service-prod@powerplatform.top
|
|
PROD_PASSWORD=********
|
|
TARGET_TENANT_ID=dcee9b15-6454-467c-8428-2a2a3eea1bf1
|
|
```
|
|
|
|
Pipeline behavior:
|
|
|
|
- Manual trigger only.
|
|
- Master branch guard.
|
|
- Export managed solution from source.
|
|
- Manual approval gate before PROD import.
|
|
- Import managed solution into PROD.
|