Skip to content

environment group support #14

@bradrydzewski

Description

@bradrydzewski

Use Case 1

Environment group, all environments, all infrastructures

pipeline:
  service:
    items:
    - petstore-frontend
    - petstore-backend
  environment:
    group: my-group

Environment group, 1 environment, all infrastructures

pipeline:
  service:
    items:
    - petstore-frontend
    - petstore-backend
  environment:
    group:
      name: my-group
      parallel: true
      items:
      - name: prod
        deploy-to: all

Environment group, 1 environment, 1 infrastructures

pipeline:
  service:
    items:
    - petstore-frontend
    - petstore-backend
  environment:
    group:
      name: my-group
      parallel: true
      items:
      - name: dev
        deploy-to: infra3

Environment group, 1 environment, multiple infrastructures

pipeline:
  service:
    items:
    - petstore-frontend
    - petstore-backend
  environment:
    group:
      name: my-group
      parallel: true
      items:
      - name: stage
        deploy-to:
        - infra1
        - infra2

Environment group, match environment, match infrastructure

pipeline:
  service:
    items:
    - petstore-frontend
    - petstore-backend
  environment:
    group:
      name: my-group
      parallel: true
      items:
      - match: prod       # match any environment that contains "prod". e.g. this would match prod1, prod2
        deploy-to: infra  # match any infrastructure that contains "infra".  e.g. this would match infra1, infra2

Alternative

pipeline:
  service:
    items:
    - petstore-frontend
    - petstore-backend
  environment:
    parallel: true
    group: foo          # add "group" to environment
    items:
    - name: prod
      deploy-to: all
    - name: stage
      deploy-to:
      - infra1
      - infra2
    - name: dev
      deploy-to: infra3

    # add "match" block to match environments
    - match: prod-us-*
    - match:         
        name:
        - prod-us-*
        - prod-eu-*
        deploy-to:
        - cluster-us-*
        - cluster-eu-*
  stages:
  - steps:
    - go build

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions