Docker's Remote API can be secured via TLS and client certificate verification.
First of all you need a few certificates and keys:
- CA certificate
- Server certificate
- Server key
- Client certificate
- Client key
| images/ | |
| layers/ | |
| node_modules/ | |
| .cache/ | |
| manifests/ |
| // -*- mode: groovy -*- | |
| // vim: set filetype=groovy : | |
| node( 'some_node' ) { | |
| stage( "Phase 1" ) { | |
| sshagent( credentials: [ 'some_creds' ] ) { | |
| checkout scm | |
| def lastSuccessfulCommit = getLastSuccessfulCommit() | |
| def currentCommit = commitHashForBuild( currentBuild.rawBuild ) | |
| if (lastSuccessfulCommit) { |
| // found here: http://jdpgrailsdev.github.io/blog/2014/10/28/gradle_resolve_all_dependencies.html | |
| task resolveDependencies { | |
| doLast { | |
| project.rootProject.allprojects.each { subProject -> | |
| subProject.buildscript.configurations.each { configuration -> | |
| resolveConfiguration(configuration) | |
| } |
| # check if job exists | |
| curl -XGET 'http://jenkins/checkJobName?value=yourJobFolderName' --user user.name:YourAPIToken | |
| # with folder plugin | |
| curl -s -XPOST 'http://jenkins/job/FolderName/createItem?name=yourJobName' --data-binary @config.xml -H "Content-Type:text/xml" --user user.name:YourAPIToken | |
| # without folder plugin | |
| curl -s -XPOST 'http://jenkins/createItem?name=yourJobName' --data-binary @config.xml -H "Content-Type:text/xml" --user user.name:YourAPIToken | |
| # create folder |