Skip to content

'Parametrized' continuous deployment patterns/best-practice #2183

@pfijalki

Description

@pfijalki

Hi there!

What challenge do I face:

I'd like to create a pipeline where I'd like to trigger deployment on env ENV{X,Y,Z} specific versions of app (not only latest successful). Thus 'parametrized' mean that version of app would be kind of parameter to the job

Solution proposals:
Having considered this challenge I think about two possible solutions

  1. Use git as a event-source-like storage for deployment information, and store there
    'deployment manifests', i.e.
    • demo-env.yml would look like and would be versioned in git
versions: 
    backend: 1.0.4
    frontend: 1.0.1
  • this git repo would be an input resource for deployment job
  • deployment job on each new version (modified deployment manifesto) would run deployment according to data provided in manifesto
  • rollback scenario would involve pushing rollback commit on the repo
  1. Second approach is very similar but assumes usage of DB with event sourcing instead of git. This would also mean creating additional resource to emit notification about new versions

In both versions our team would like to provide simple gui for deployment process

Do you think this is a correct approach to continuous delivery with concourse ? Or maybe you have an existing real-life scenarios or best-practice how to tackle this challange ? Would appreciate all your help and suggestions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions