Running stages independently of previous stages

Follow

Comments

7 comments

  • Avatar
    Santosh Hegde

    Hi Stephen,


    As of now, this is not possible. Can you elaborate on your use case.


    Thanks,


    Santosh

  • Avatar
    Scott, Stephen

    Hi Santosh,


     


    We're making use of Go as a dashboard for stuff that's not really part of the CI process. Namely we're running a job, via the timer functionality, to check the status of our application on each of the test environments it's deployed onto. Each individual environment is checked via a stage within one pipeline. But we're finding if there's a fault with any one test environment the whole pipeline hags after that and the remaining environments are not checked.


     


    Appreciate it's not really part of Continuous Delivery as such, but it is nice to have it included in the same dashboard as the other things we run.


     


    Stephen

  • Avatar
    Mark Chang

    Hi Stephen,


    Go Environments (enterprise feature) sound like they may be a great fit for your use case.  



    • You can model each one of your environments as a Go environment, and see each environment on either the Pipelines or Environments page.

    • A Go environment is a grouping of pipelines and agents.  e.g. a deployment pipeline or in your case a pipeline that checks the status of your app

    • A Go environment has a pipeline locking concept to ensure that only a single instance of a pipeline can be run at a time.  This comes into play when you use Go to deploy software and you don't want to interfere with an in-progress deployment. 

    • Go supports pipeline templates.  This may come in handy if you see a pattern across your environments.

    • Go supports environment variables.


    Hope this helps.

     

    --Mark
  • Avatar
    Scott, Stephen

    Hi Mark,


     


    I understand Go environments, we already make use of them. But I fail to see how I can make use of them in this particular case.


     


    Stephen

  • Avatar
    Mark Chang

    Stephen,


    Glad to hear you are using environments.  


    Since the application status check is already decoupled from your deployments, would it make sense for you to break apart your current pipeline and introduce an additional pipeline (with only one stage) in each Go environment?  This would associate the status check with your environment.


    You can then use the Environments page to see the results in the context of each environment, or you can view them on the Pipelines page.


    If I'm missing something let me know and we'll try to figure out how we can help. 


    --Mark 

  • Avatar
    Scott, Stephen

    Hi Mark,


     


    You've pretty much confirmed what I thought was my only other alternative. ie make each individual stage a one stage pipeline. I didn't really want to go down this line purely because the pipeline view looks much neater by having one pipeline with multiple stages.


     


    Perhaps having the ability to force a stage to run even after a previous stage has failed can be considered as an enhancement to the application.


     


    Steve

  • Avatar
    Saurav Anand

    Hi Santosh,

    Is there any option available where we can run a particular stage(later than the first one ) without running the previous stages at all ? The scenario is that we don't want the jobs running in parallel and there is no dependency as such on the previous ran stages. Having an option of running only selected jobs in a stage at first instance will also serve the purpose.  

     

    Saurav

Please sign in to leave a comment.