Team Services now integrates even better with Jenkins. The “Jenkins Queue Job” and “Jenkins Download Artifacts” tasks are useful for blending Team Services and Jenkins build and release steps. Why would Microsoft choose to integrate with Jenkins when Team Services has its own highly-capable build and release systems? Our goal is to integrate with whatever tools work best for your team. Here are some example scenarios:
- Use Jenkins to validate your Team Services pull requests
- Use Jenkins continuous integration for your Team Services Git repository
- Use Jenkins to test or deploy your Team Services build
- Download Jenkins build artifacts for use in a Team Services test, build, or release
The “Jenkins Queue Job” task was initially introduced in July, 2016. The task now has support for parameterized Jenkins jobs and tracks full Jenkins pipelines. It also now supports self-signed server certificates and Jenkins crumb security for protection against cross-site request forgery (CSRF) exploits. Because the task runs in a light-weight, long-polling agent that can be installed on your Jenkins server, it obviates the need to modify inbound firewall rules for Team Services to queue Jenkins jobs.
When capturing pipelines, the task console will capture the console output for the full Jenkins job pipeline:
A pipeline job tree is rendered in the Team Services build summary for traceability:
New in August, 2016 is the “Jenkins Download Artifacts” task. This task makes it easy to download build artifacts from Jenkins and integrate them into your Team Services build or release process. Once artifacts are downloaded, they can be used by other tasks as demonstrated in the video below.
Both tasks are open-sourced. Contributions are welcome, and feel free to use these as a pattern to create your own extensions in the Team Services Marketplace. If you have any suggestions or find issues, reach out to us on GitHub.
Note that these tasks are available today in Team Services and will be available in the next version of Team Foundation Server for on-premises installations.
Also check out Team Services for Java.