Jenkins DSL
The repository contains job definitions using Jenkins Job Dsl plugin.
How to build it
./gradlew clean build
Warning
|
The ran test only checks if your scripts compile. |
How to use it in Jenkins?
Check out the tutorial. Provide the link to this repository in your Jenkins installation.
The seed job for Spring Cloud should scan the jobs/springcloud/*.groovy
files.
Remember to add src/main/groovy
and src/main/resources
for processing
Warning
|
Remember that views can be overridden that’s why the suggestion is to contain in one script all the logic needed to build a view
for a single project (check out that spring_cloud_views.groovy is building all the spring-cloud views).
|
Running Jenkins
Just run
docker-compose up -d
and your jenkins with plugins present in plugins.txt
will be ready at port 8080.
In order to download the latest plugins:
1) Open in your browser
http://$JENKINS_HOST/pluginManager/api/xml?depth=1&xpath=/*/*/shortName|/*/*/version&wrapper=plugins"
2) Store the XML to a file
3) Pipe the contents of the file to this command:
perl -pe 's/.*?<shortName>([\w-]+).*?<version>([^<]+)()(<\/\w+>)+/\1 \2\n/g'|sed 's/ /:/'
4) Store it as plugins.txt
Wait patiently for Jenkins to start - the job will be added automatically for you.
Configuring Jenkins for Spring Cloud
You have to provide the following values/plugin configuration for your Jenkins to make everything work:
Property Name/Plugin name | Description |
---|---|
CF_USERNAME |
The name of the Cloud Foundry user that access the Spring Cloud e2e space |
CF_PASSWORD |
The password for the Cloud Foundry user that access the Spring Cloud e2e space |
CF_SPACE |
The name of the space in Cloud Foundry that has e2e tests |
Git plugin |
You have to provide the username and email for the user that access artifactory |
Global Slack Notifier |
Provide team / integration token values to notify Slack |
Cloud plugin |
Provide values for Cloud so that jobs labeled for aws execution would work |
Cloud plugin |
The instances have to have proper values for JDK / JAVA_HOME |
Also it’s required to have Maven settings allowing you to push to artifactory.