# Template: Deploy on merge to develop# Copy to: .github/workflows/develop-deploy.yml## Triggers on push to develop branch (after PR merge)# Flow: build → test → artifact (ECR) → deploy (EC2) → delete branch → create release PR## Required secrets:# AWS:# - AWS_ACCESS_KEY_ID: AWS access key# - AWS_SECRET_ACCESS_KEY: AWS secret key# - AWS_REGION: AWS region (e.g., us-east-1)## ECR:# - AWS_ECR_URL: ECR registry URL## EC2:# - AWS_EC2_HOST: Server IP or hostname# - AWS_EC2_USER: SSH username (e.g., ubuntu, ec2-user)# - AWS_EC2_SSH_KEY: SSH private key# - AWS_APP_PORT: External port for KrakenD (maps to 8080)
name: Deploy to Develop
on: push: branches: - develop
permissions: contents: write id-token: write checks: write pull-requests: write
jobs: pipeline: if: ${{ !contains(github.event.head_commit.message, '[skip ci]') }} uses: <org>/ci-templates/.github/workflows/krakend-main-pipeline.yml@main with: run_build: true run_test: true run_artifact: true run_deploy: true run_cleanup: true run_release: true environment: 'develop' release_target_branch: 'main' # extra_volumes: default mounts ./certs:/etc/krakend/certs:ro on the host. # Place certs at /opt/docker/<repo>/certs/ on the EC2 host before deploy. # Override below to add more bind mounts (one per line, leading "- "): # extra_volumes: | # - ./certs:/etc/krakend/certs:ro # - ./config:/etc/krakend/config:ro secrets: inherit KrakenD· Consumer template ·on: push
Krakend Develop Deploy
Template: Deploy on merge to develop Copy to: .github/workflows/develop-deploy.yml Triggers on push to develop branch (after PR merge) Flow: build → test → artifact (ECR) → deploy (EC2) → delete branc
templates/krakend-develop-deploy.yml