I’m trying to setup a deploy/delivery pipeline (using the ‘Delivery Pipeline’ plugin)
and I got it mostly working.
However, there’s a slight ‘snag’. Please see the snapshot.
Explanations:
Linting Just lints the code "coming in” on the GItHub web
hook (after checking it out etc)
SBT Test The internal tests in the code repository
Build Compiles the code and produces artefacts (among
them system package(s) - .deb)
Update APT Cache Uploads the system package(s) to our APT repository
Install Package Install the package(s) in different staging environments
Run Puppet Runs puppet in the different staging environments
Test Application Runs unit tests on the application in the different staging
environments
The problem here is, that I (had to) setup “Install Package (Test)” and “Install Package (Preview)”
to run as a “Trigger parameterised build on other projects” from “Update APT Cache”.
This is technically wrong. It should run only after “Test Application (Test)” have finished
successfully.
But if I move that trigger from “Update APT Cache” to “Test Application (Test)”, then I
get the “Circular dependencies” in the View.
Although there’s technically no circular dependencies between the _jobs_, that warning
must come from either the Delivery pipeline or the View…
Any idea how I can/should solve this?
In a “Neat and Tidy” way. I could create one long pipeline for all this, but it also needs
to fit on a wall monitor/TV so all can see the flow and status of their commits. Hence
the “compact” view.
The other install/puppet pipelines (Demo, Validation and Live) should, for the time
being, be a manual trigger. Eventually, In a year or so when the application have
matured enough and we have enough (automated) test cases to trust it, some of
that will/might be automatic.