domains / devops / deploy-pipeline / deploy-pipeline
The two skills share the name 'deploy-pipeline' but describe entirely different systems and procedures. The first is a Power Platform/Power Pages ALM skill that uses PAC CLI, Azure CLI, and a local pipeline configuration file to promote a solution to a target environment. The second is a full-stack release skill using the Composio CLI to coordinate Stripe, Supabase, and Vercel. They do not overlap in steps, tools, or constraints, so crowning one would hide a real alternative.
| Repository | Path |
|---|---|
| microsoft/power-platform-skills | plugins/power-pages/skills/deploy-pipeline/SKILL.md |
| composio-community/awesome-codex-skills | deploy-pipeline/SKILL.md |
| Role | Repository | Path |
|---|---|---|
| peer | microsoft/power-platform-skills | plugins/power-pages/skills/deploy-pipeline/SKILL.md |
| peer | composio-community/awesome-codex-skills | deploy-pipeline/SKILL.md |
# Deploy Pipeline
This skill covers two distinct deployment workflows. Select the appropriate section based on your target platform.
## Option A: Power Platform / Power Pages
Use this when deploying a Power Pages solution via a Power Platform Pipeline.
1. **Prerequisites**: Ensure `docs/alm/last-pipeline.json` and `.solution-manifest.json` exist. Verify Azure CLI (`az account show`) and PAC CLI (`pac env who`) are logged in.
2. **ALM Plan Gate**: Run `node "${PLUGIN_ROOT}/scripts/lib/check-alm-plan.js"` to check for an active ALM plan. If no plan exists, prompt the user to run `/power-pages:plan-alm` or bypass the gate.
3. **Select Stage**: Choose the target stage (e.g., staging, production).
4. **Validate Package**: Validate the solution package.
5. **Deploy**: Trigger the pipeline deployment using PAC CLI.
6. **Poll**: Poll for completion and report status.
## Option B: Stripe / Supabase / Vercel (Composio CLI)
Use this for full-stack releases involving billing, database, and frontend.
1. **Prerequisites**: Install and login to Composio CLI. Link Stripe, Supabase, Vercel, and Slack.
2. **Stripe**: Create or update the price/product using `STRIPE_CREATE_PRICE` or `STRIPE_UPDATE_PRODUCT`.
3. **Supabase**: Apply database migrations using `SUPABASE_APPLY_MIGRATION`. Sanity-check the schema with `SUPABASE_RUN_SQL_QUERY`.
4. **Vercel**: Trigger a production deployment using `VERCEL_CREATE_A_NEW_DEPLOYMENT`. Poll `VERCEL_GET_A_DEPLOYMENT_BY_ID_OR_URL` until `readyState` is `READY`.
5. **Verify**: Run health checks and database queries to confirm the deployment.
6. **Announce**: Send a release announcement via Slack using `SLACK_SEND_MESSAGE`.
## Rollback
- **Power Pages**: Use the pipeline's rollback capabilities or redeploy the previous solution version.
- **Stripe/Supabase/Vercel**: Undo in reverse order: Vercel (promote previous deployment), Supabase (apply down migration), Stripe (deactivate price, do not delete), Slack (announce rollback).