Support parallel Stages

Comments

2 comments

  • Avatar
    Pavan K S

    Hello Sergey,


    A stage by definition is sequential. Stages are to be used when your build process have sequential steps. For example, you want to run your functional tests only after your unit tests pass, build an installer only after at least a basic smoke test passes etc. This is when each of the activity in the build process becomes a stage.


    However, in each step, if there are things that can happen in parallel, you can use Jobs to achieve this. A Stage comprises of one or more jobs that can execute in parallel. Each job runs on an agent and if there are enough number of agents all the jobs in a stage can execute at the same time. So, in your example, you would probably start analysis in a job, while you are doing something else, in the "Initial" stage.


    Does this make sense and help solve your problem?


    Thanks,


    Pavan

    0
    Comment actions Permalink
  • Avatar
    Sergey

    A Stage is sequential by current Go definition. This feature request is to change that and make possible to construct workflows which allow parallel stage execution.


    There can (and occur frequently) cases when you don't want to wait too long for a stage to finish only to start another which could be run in parallel. It is also a recommended practice of a Deployment Pipeline (see "Continuous Delivery" by Jez Humble and David Farley).


    The Jobs can though be run in parallel do not appear on the dashboard page as sepate Stages with artifacts and so on, thus they don't accomplish requested task effectively.

    0
    Comment actions Permalink

Please sign in to leave a comment.