Continous Delivery Plugin w/ manual steps?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Continous Delivery Plugin w/ manual steps?

Turbo Fredriksson
I have the need to create a "(Almost) Continuous Delivery" pipeline for a number of GitHub repositories
that together forms "The App". They should (hopefully, the devs are currently in the process of refactoring
the code to make this possible) be possible to test, build and deploy independently.


However, since we don't have enough automated tests, I can't deploy the software all the way to live
(Feature Flags is also something that's on the TODO for the "somewhat-near" future).


So I have four environments the software should pass through. It needs to be successfully deployed
and tested in each of them to proceed to the next stage.

They are: Test (very simple "ping" automated test), Preview (the "full monty" tests - we're working on that),
Validation (which is currently manual tests by the testers - this will be decommissioned if/when we have
"The Full Monty" tests running in a few years) and Live.


Now, because "Test" and "Preview" is where all the automated tests happen, I want this to be automatic.
That is, it should first deploy to Test, configure the software (using puppet) and run the "ping" test. If that
succeeds, I want it to start deploying to "Preview", configure the software and run what automated unit
tests we have.

But then the automatic part should stop! I want "simple PLAY button" for it to be deployed into "Validation"
(and once that's succeeded, another "PLAY" button should appear next to "Live").


I also have three "Demo" environments (one for "selected customers", for the sales people and one for
our internal colleagues in the rest of the organisation so they can see what's happening).

Those three should be "available" (with a PLAY button) at the same time it starts deploying to "Test".



There's two problems with the current "Delivery Pipeline" plugin and Jenkins:

    1. It's only possible to have _ONE_ manual step

    2. I get "circular dependencies" when I try to setup the dependency between the "Test"
        part of the pipeline and "Preview".


I've tried the "Pipeline" plugin, but that don't seem to have a manual step for me/someone to click on.


To add insult to injury, I also need this to be compact. I could possibly do this as one, long, flat pipeline,
but that won't show on the big wall monitor/TV we're ordering. I want the devs to be involved in this, to
make them _see_ what's happening to their commit.

So with the "Delivery Pipeline" module, I grouped my different part of the stages by setting the "Stage Name"
and "Task Name" in the "Delivery Pipeline configuration" setting.

Looks pretty and exactly what I want. However, that's where I'm getting the circular dependency.
So at the moment, "Test" and "Preview" launches at the same time, in parallel.


Is there another plugin that might do what I want to do?


--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/ff7ac83c-1c4d-4b7b-bd83-82a85eb55d75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

Turbo Fredriksson
This is a huge blocker for me and the company I work for at the moment.

Is there anyone that could be persuaded to help us implement something
like this for a box of chocolates :)

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/0b9472d5-dbd2-46ef-bb25-f464b9204032%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

Daniel Beck
In reply to this post by Turbo Fredriksson

> On 07.03.2017, at 12:38, Turbo Fredriksson <[hidden email]> wrote:
>
> I've tried the "Pipeline" plugin, but that don't seem to have a manual step for me/someone to click on.

What about this?

https://jenkins.io/doc/pipeline/steps/pipeline-input-step/#input-wait-for-interactive-input

Wrap in a timeout if you only want it to be around a limited time.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/25A8FCD4-90E8-4829-9902-4CBBF1BA7128%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

Turbo Fredriksson
On Thursday, March 16, 2017 at 11:57:09 PM UTC, Daniel Beck wrote:

<a href="https://jenkins.io/doc/pipeline/steps/pipeline-input-step/#input-wait-for-interactive-input" target="_blank" rel="nofollow" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fdoc%2Fpipeline%2Fsteps%2Fpipeline-input-step%2F%23input-wait-for-interactive-input\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGAH70X5kg5p0brJ-ekuJVFDFHzog&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fdoc%2Fpipeline%2Fsteps%2Fpipeline-input-step%2F%23input-wait-for-interactive-input\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGAH70X5kg5p0brJ-ekuJVFDFHzog&#39;;return true;">https://jenkins.io/doc/pipeline/steps/pipeline-input-step/#input-wait-for-interactive-input

Wrap in a timeout if you only want it to be around a limited time.

Tried that, but we don't know when (or even IF) a deploy to the next environment even SHOULD
take place. And with _a lot_ of commits (at the moment), there's going to be a lot of waiting... 

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/fc5c9260-177b-4ea1-af30-174f2c44d09a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

suresh kumar
Hi Daniel Beck,
Is there a concept of "promoted builds" in pipeline as code. Do we have any document or notes to achieve this scenario.
As input step is not working as existing "promoted builds" at least promoting a selected build based on user interaction.

-Thanks,
Suresh

On Friday, March 17, 2017 at 4:10:04 PM UTC+5:30, Turbo Fredriksson wrote:
On Thursday, March 16, 2017 at 11:57:09 PM UTC, Daniel Beck wrote:

<a href="https://jenkins.io/doc/pipeline/steps/pipeline-input-step/#input-wait-for-interactive-input" rel="nofollow" target="_blank" onmousedown="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fdoc%2Fpipeline%2Fsteps%2Fpipeline-input-step%2F%23input-wait-for-interactive-input\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGAH70X5kg5p0brJ-ekuJVFDFHzog&#39;;return true;" onclick="this.href=&#39;https://www.google.com/url?q\x3dhttps%3A%2F%2Fjenkins.io%2Fdoc%2Fpipeline%2Fsteps%2Fpipeline-input-step%2F%23input-wait-for-interactive-input\x26sa\x3dD\x26sntz\x3d1\x26usg\x3dAFQjCNGAH70X5kg5p0brJ-ekuJVFDFHzog&#39;;return true;">https://jenkins.io/doc/pipeline/steps/pipeline-input-step/#input-wait-for-interactive-input

Wrap in a timeout if you only want it to be around a limited time.

Tried that, but we don't know when (or even IF) a deploy to the next environment even SHOULD
take place. And with _a lot_ of commits (at the moment), there's going to be a lot of waiting... 

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/9c115cd8-cb9d-41d8-b901-7ab71bcb906a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

Daniel Beck
In reply to this post by Turbo Fredriksson

> On 17.03.2017, at 11:40, Turbo Fredriksson <[hidden email]> wrote:
>
> And with _a lot_ of commits (at the moment), there's going to be a lot of waiting...

This doesn't cost notable resources if you do it right, i.e. outside node blocks.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/0282C084-A48C-40EB-9115-64BA4F8BAD78%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

suresh kumar
Yes Daniel, when configured properly with "agent none" pipeline is not occupying any executor and as you said it is not occupying notable resources.

My Suggestions in this regard are below:
  1. Adding a new status to the build called "Paused" besides to the existing statuses Success, Failure, Aborted, Unstable.
  2. In Blue Ocean theme, Status icon showing as Paused and where as if we see the in the build history of the Job's placeholder the icon is blinking forever until some one acted.
                         Blue Ocean it shows Pause icon
                  
                         Build History it shows InProgress icon
                        

May be above suggestions might be in your future active development list, but just wanted to bring up now my observations.

-Suresh

On Friday, March 17, 2017 at 7:32:43 PM UTC+5:30, Daniel Beck wrote:

> On 17.03.2017, at 11:40, Turbo Fredriksson <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="LfjmsyQ6BwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">fran...@...> wrote:
>
> And with _a lot_ of commits (at the moment), there's going to be a lot of waiting...

This doesn't cost notable resources if you do it right, i.e. outside node blocks.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/d8cce40c-6b5a-4529-80f5-7317ebd4be57%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

suresh kumar

Other observations: As build is still running, the build duration is keep on increasing and as it is in inprogress completed is empty.



On Friday, March 17, 2017 at 8:24:17 PM UTC+5:30, suresh kumar wrote:
Yes Daniel, when configured properly with "agent none" pipeline is not occupying any executor and as you said it is not occupying notable resources.

My Suggestions in this regard are below:
  1. Adding a new status to the build called "Paused" besides to the existing statuses Success, Failure, Aborted, Unstable.
  2. In Blue Ocean theme, Status icon showing as Paused and where as if we see the in the build history of the Job's placeholder the icon is blinking forever until some one acted.
                         Blue Ocean it shows Pause icon
                  
                         Build History it shows InProgress icon
                        

May be above suggestions might be in your future active development list, but just wanted to bring up now my observations.

-Suresh

On Friday, March 17, 2017 at 7:32:43 PM UTC+5:30, Daniel Beck wrote:

> On 17.03.2017, at 11:40, Turbo Fredriksson <[hidden email]> wrote:
>
> And with _a lot_ of commits (at the moment), there's going to be a lot of waiting...

This doesn't cost notable resources if you do it right, i.e. outside node blocks.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/43f3e231-7731-4cdd-bc33-62e2582c3871%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

Daniel Beck
In reply to this post by suresh kumar

> On 17.03.2017, at 15:54, suresh kumar <[hidden email]> wrote:
>
> your future active development list

I am not working on either Blue Ocean or Pipeline, and this isn't where you ask for changes anyway.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/9C2EB8C7-3EFF-486C-9962-0E731170C756%40beckweb.net.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

suresh kumar
Sorry about that, I didn't frame sentence properly.
 What I mean "Jenkins future active development list".

Ok it is not the right place to ask changes, but what I felt is it is correct thread and context exactly suits.

-Suresh

On Friday, March 17, 2017 at 8:56:27 PM UTC+5:30, Daniel Beck wrote:

> On 17.03.2017, at 15:54, suresh kumar <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="yuc3orY-BwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">pskum...@...> wrote:
>
> your future active development list

I am not working on either Blue Ocean or Pipeline, and this isn't where you ask for changes anyway.

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/8a414aab-d242-45b5-bd3d-60174502cb3e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: Continous Delivery Plugin w/ manual steps?

Turbo Fredriksson
In reply to this post by Daniel Beck
On Friday, March 17, 2017 at 2:02:43 PM UTC, Daniel Beck wrote:

> On 17.03.2017, at 11:40, Turbo Fredriksson <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="LfjmsyQ6BwAJ" rel="nofollow" onmousedown="this.href=&#39;javascript:&#39;;return true;" onclick="this.href=&#39;javascript:&#39;;return true;">fran...@...> wrote:
>
> And with _a lot_ of commits (at the moment), there's going to be a lot of waiting...

This doesn't cost notable resources if you do it right, i.e. outside node blocks.

Perhaps, but it's bound to be very confusing - X number of jobs seemingly "running".

In our current phase of development, we have _at least_ ten commits a day. We work in sprints
of two weeks. So the QA people will be one sprint behind. That means the timeout needs to be
at least two weeks (plus one day, but preferably all through THEIR two weeks sprint).

That means that when QA picks up, there will be 10 jobs * (10 [working] days + weekends) * 2 sprints
(one for dev, one for QA).

Which of those was the correct commit they where supposed to QA?! Finding the right one
of all those "running" jobs, will be a nightmare!

Not to mention it is going to be difficult to find out from all those 200+ running jobs to distinguish
really stuck ones from the ones that's waiting for input. Not to mention the fact that I kill of all
Jenkins executors automatically at night (to save us some money :) and spin up new, fresh ones
in the morning (weekdays only). So those "running" jobs will "vanish" anyway.


That being said, this is _MY_ "vision" on how I would like it to be. My vision might be blurred, so
feel free to correct me or give me a better option..

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/e9e512b9-8a71-44d3-854c-4973f5859943%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.