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
        https://issues.jenkins-ci.org/browse/JENKINS-26282

    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 jenkinsci-users+unsubscr...@googlegroups.com.
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 via email to