I'm trying to implement Jenkins with Maven as the build CI/CD tool since it
does so well with the technologies we are using out of the box instead of
GO that the larger .NET-based organization is using.
I've done Jenkins jobs for stand-alone projects but not jobs chained from
dependent projects.
Conceptually, I can see how dependent jobs are configured using the build
pipeline plugin (though we only have one project so far). What is unclear
is how downstream jobs are configured to consume the
artifacts and/or outputs produced upstream.
Off the top of my head, how would jobs be created/configured to perform
the steps in the pipeline sequence below:
1. (JOB) Build shared library
1. Run Unit tests
2. Upload SNAPSHOT to Maven repository (e.g.,
Shared-1.6.3-SNAPSHOT-12.jar)
2. (JOB) Trigger build of WebApp
1. Build WebApp and include latest SNAPSHOT shared library (e.g.,
Shared-1.6.3-SNAPSHOT-12.jar)
2. Run Unit tests for WebApp
3. Upload WAR to repository (e.g., WebApp-1.4.2-SNAPSHOT-6.war)
3. (JOB) Deploy WebApp-1.4.2-SNAPSHOT-6.war
1. Grab WebApp-1.4.2-SNAPSHOT-6.war
2. Deploy to DEV server (tomcat container)
1. use DEV config.properties file (*not sure how to switch out
properties based on deploy env*)
4. (JOB) Run Integration tests
5. (JOB) Deploy to STAGE environment
1. Grab (somehow) WebApp-1.4.2-SNAPSHOT-6.war
2. Deploy to ALL STAGE server (tomcat container) nodes (load balanced
- two to 4 nodes)
1. use STAGE config.properties file (*not sure how to switch out
properties based on deploy env)*
6. (JOB) Run Integration Tests (Validation only?)
7. (JOB) Run Load tests
8. (JOB) Deploy to LIVE
I've read through the Jenkins Build pipeline plugin page, but could really
use some additional perspectives/resources, particularly with steps 3-8.
Any tips/resources that I should read or insight into how you do this would
be appreciated.
--
Jeff Vincent
[email protected]
See my LinkedIn profile at:
http://www.linkedin.com/in/rjeffreyvincent
I ♥ DropBox <http://db.tt/9O6LfBX> !!