[Asterisk-code-review] CI: Add https credentials to gerrit checkouts (asterisk[16.0])
Jenkins2
asteriskteam at digium.com
Thu Aug 16 13:34:46 CDT 2018
Jenkins2 has submitted this change and it was merged. ( https://gerrit.asterisk.org/9910 )
Change subject: CI: Add https credentials to gerrit checkouts
......................................................................
CI: Add https credentials to gerrit checkouts
If the review to be tested is in a project with restricted access,
we need to use the jenkins user's gerrit https credentials when we
do the checkout or the checkout will fail.
Change-Id: I9dc9994763c5ebfeb9f1cff60fb53f6902b7fd5f
---
M tests/CI/gates.jenkinsfile
M tests/CI/unittests.jenkinsfile
2 files changed, 70 insertions(+), 47 deletions(-)
Approvals:
Jenkins2: Looks good to me, approved; Approved for Submit
diff --git a/tests/CI/gates.jenkinsfile b/tests/CI/gates.jenkinsfile
index ab0fd1c..c23114b 100644
--- a/tests/CI/gates.jenkinsfile
+++ b/tests/CI/gates.jenkinsfile
@@ -79,33 +79,44 @@
*
* The Gerrit Trigger provides all the URLs and refspecs to
* check out the change.
+ *
+ * We need to retrieve the jenkins2 gerrit https credentials
+ * in case this review is in a restricted project.
*/
- checkout scm: [$class: 'GitSCM',
- branches: [[name: env.GERRIT_BRANCH ]],
- extensions: [
- [$class: 'ScmName', name: 'gerrit-public'],
- [$class: 'CleanBeforeCheckout'],
- [$class: 'PreBuildMerge', options: [
- mergeRemote: 'gerrit-public',
- fastForwardMode: 'NO_FF',
- mergeStrategy: 'RECURSIVE',
- mergeTarget: env.GERRIT_BRANCH]],
- [$class: 'CloneOption',
- honorRefspec: true,
- noTags: true,
- depth: 10,
- shallow: true
- ],
- [$class: 'PruneStaleBranch'],
- [$class: 'BuildChooserSetting',
- buildChooser: [$class: 'GerritTriggerBuildChooser']
- ]
- ],
- userRemoteConfigs: [
- [name: env.GERRIT_NAME, refspec: env.GERRIT_REFSPEC, url: env.GERRIT_PROJECT_URL ]
- ]
- ]
+ withCredentials([usernamePassword(credentialsId: env.JENKINS_GERRIT_CREDS,
+ usernameVariable: 'gerrit_user')]) {
+ checkout scm: [$class: 'GitSCM',
+ branches: [[name: env.GERRIT_BRANCH ]],
+ extensions: [
+ [$class: 'ScmName', name: 'gerrit-public'],
+ [$class: 'CleanBeforeCheckout'],
+ [$class: 'PreBuildMerge', options: [
+ mergeRemote: 'gerrit-public',
+ fastForwardMode: 'NO_FF',
+ mergeStrategy: 'RECURSIVE',
+ mergeTarget: env.GERRIT_BRANCH]],
+ [$class: 'CloneOption',
+ honorRefspec: true,
+ noTags: true,
+ depth: 10,
+ shallow: true
+ ],
+ [$class: 'PruneStaleBranch'],
+ [$class: 'BuildChooserSetting',
+ buildChooser: [$class: 'GerritTriggerBuildChooser']
+ ]
+ ],
+ userRemoteConfigs: [
+ [
+ credentialsId: env.JENKINS_GERRIT_CREDS,
+ name: env.GERRIT_NAME,
+ refspec: env.GERRIT_REFSPEC,
+ url: env.GERRIT_PROJECT_URL.replaceAll("http(s)?://", "http\$1://${gerrit_user}@")
+ ]
+ ]
+ ]
+ }
sh "sudo tests/CI/setupJenkinsEnvironment.sh"
}
diff --git a/tests/CI/unittests.jenkinsfile b/tests/CI/unittests.jenkinsfile
index 82bafff..332975c 100644
--- a/tests/CI/unittests.jenkinsfile
+++ b/tests/CI/unittests.jenkinsfile
@@ -80,32 +80,44 @@
*
* The Gerrit Trigger provides all the URLs and refspecs to
* check out the change.
+ *
+ * We need to retrieve the jenkins2 gerrit https credentials
+ * in case this review is in a restricted project.
*/
- checkout scm: [$class: 'GitSCM',
- branches: [[name: env.GERRIT_BRANCH ]],
- extensions: [
- [$class: 'ScmName', name: 'gerrit-public'],
- [$class: 'CleanBeforeCheckout'],
- [$class: 'PreBuildMerge', options: [
- mergeRemote: 'gerrit-public',
- fastForwardMode: 'NO_FF',
- mergeStrategy: 'RECURSIVE',
- mergeTarget: env.GERRIT_BRANCH]],
- [$class: 'CloneOption',
- honorRefspec: true,
- noTags: true,
- depth: 10,
- shallow: true
+ withCredentials([usernamePassword(credentialsId: env.JENKINS_GERRIT_CREDS,
+ usernameVariable: 'gerrit_user')]) {
+
+ checkout scm: [$class: 'GitSCM',
+ branches: [[name: env.GERRIT_BRANCH ]],
+ extensions: [
+ [$class: 'ScmName', name: 'gerrit-public'],
+ [$class: 'CleanBeforeCheckout'],
+ [$class: 'PreBuildMerge', options: [
+ mergeRemote: 'gerrit-public',
+ fastForwardMode: 'NO_FF',
+ mergeStrategy: 'RECURSIVE',
+ mergeTarget: env.GERRIT_BRANCH]],
+ [$class: 'CloneOption',
+ honorRefspec: true,
+ noTags: true,
+ depth: 10,
+ shallow: true
+ ],
+ [$class: 'PruneStaleBranch'],
+ [$class: 'BuildChooserSetting',
+ buildChooser: [$class: 'GerritTriggerBuildChooser']
+ ]
],
- [$class: 'PruneStaleBranch'],
- [$class: 'BuildChooserSetting',
- buildChooser: [$class: 'GerritTriggerBuildChooser']
+ userRemoteConfigs: [
+ [
+ credentialsId: env.JENKINS_GERRIT_CREDS,
+ name: env.GERRIT_NAME,
+ refspec: env.GERRIT_REFSPEC,
+ url: env.GERRIT_PROJECT_URL.replaceAll("http(s)?://", "http\$1://${gerrit_user}@")
+ ]
]
- ],
- userRemoteConfigs: [
- [name: env.GERRIT_NAME, refspec: env.GERRIT_REFSPEC, url: env.GERRIT_PROJECT_URL ]
]
- ]
+ }
sh "sudo tests/CI/setupJenkinsEnvironment.sh"
}
--
To view, visit https://gerrit.asterisk.org/9910
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: 16.0
Gerrit-MessageType: merged
Gerrit-Change-Id: I9dc9994763c5ebfeb9f1cff60fb53f6902b7fd5f
Gerrit-Change-Number: 9910
Gerrit-PatchSet: 1
Gerrit-Owner: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Jenkins2
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20180816/11368cef/attachment-0001.html>
More information about the asterisk-code-review
mailing list