Skip to content

Add CI/CD pipeline for Azure Functions deployment#4

Draft
ZEN-PUNK with Copilot wants to merge 5 commits into
devfrom
copilot/create-build-release-pipeline
Draft

Add CI/CD pipeline for Azure Functions deployment#4
ZEN-PUNK with Copilot wants to merge 5 commits into
devfrom
copilot/create-build-release-pipeline

Conversation

Copilot AI commented Dec 25, 2025

Copy link
Copy Markdown
Contributor

Implements automated build and release pipeline for deploying XPR MCP Server to Azure Functions.

Pipeline Architecture

Build Job:

  • Node.js 20.x with npm caching
  • Test execution (continue-on-error)
  • Production dependency pruning
  • Optimized artifact packaging (excludes dev files, research docs, tests)

Deploy Jobs:

  • Production: Auto-deploys on main push
  • Staging: Manual workflow dispatch
  • Federated credential authentication (no stored secrets)
  • Environment-specific Function App targeting

Configuration

.funcignore
Excludes from deployment: .git/, .github/, research/, agentic_dev/, test files, markdown docs

.github/workflows/azure-functions-deploy.yml

on:
  push:
    branches: [main, release/*]
  pull_request:
    branches: [main]
  workflow_dispatch:
    inputs:
      environment: [production, staging]

Setup Requirements

GitHub Secrets:

  • AZURE_CLIENT_ID - Service principal client ID
  • AZURE_TENANT_ID - Azure tenant ID
  • AZURE_SUBSCRIPTION_ID - Subscription ID
  • AZURE_FUNCTIONAPP_NAME - Function App name
  • AZURE_FUNCTIONAPP_NAME_STAGING - (Optional) Staging Function App

Azure Resources:

  • Function App (Node.js 20, Linux, Consumption plan)
  • Service principal with contributor role
  • Federated identity credentials for GitHub Actions

Documentation

  • .github/CICD_SETUP.md - 5-minute setup guide
  • PIPELINE_GUIDE.md - Comprehensive reference
  • .github/DEPLOYMENT_STATUS.md - Deployment checklist

Security

  • CodeQL scan: 0 vulnerabilities
  • Workflow validation: actionlint passing
  • Authentication: Federated credentials only
Original prompt

create a build and release pipeline to feploy this as a function mcp ina zure


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 4 commits December 25, 2025 15:58
- Create .funcignore to exclude unnecessary files from deployment
- Update azure-functions-deploy.yml with build/test/deploy stages
- Add production and staging environment support
- Add PIPELINE_GUIDE.md with detailed documentation
- Add .github/CICD_SETUP.md with quick setup instructions
- Update README.md with CI/CD pipeline references

Co-authored-by: ZEN-PUNK <176780312+ZEN-PUNK@users.noreply.github.com>
- Add .github/DEPLOYMENT_STATUS.md to track pipeline status and requirements
- Update AZURE_DEPLOYMENT.md to reference automated CI/CD pipeline
- Provide clear guidance on recommended deployment method

Co-authored-by: ZEN-PUNK <176780312+ZEN-PUNK@users.noreply.github.com>
- Fix conditional logic in deploy-production job with explicit parentheses
- Remove quotes from step names for consistency with GitHub Actions conventions
- Fix misleading comment in .funcignore about node_modules exclusion

Co-authored-by: ZEN-PUNK <176780312+ZEN-PUNK@users.noreply.github.com>
- Add PIPELINE_COMPLETE.md with implementation overview
- Provide quick start guide and architecture decisions
- Include testing and monitoring instructions

Co-authored-by: ZEN-PUNK <176780312+ZEN-PUNK@users.noreply.github.com>
Copilot AI changed the title [WIP] Create build and release pipeline for function deployment Add CI/CD pipeline for Azure Functions deployment Dec 25, 2025
Copilot AI requested a review from ZEN-PUNK December 25, 2025 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants