簡體   English   中英

所有新工作的 Jenkins SVN 憑證

[英]Jenkins SVN credentials for all new jobs

我正在嘗試為所有新作業(從 Jenkins UI 外部創建)自動化 svn 憑據。 我知道只需從下拉列表中選擇憑據就可以找到有關憑據插件的解決方案,但這是不同的:

我有一個 Tomcat Web 應用程序,它創建了一個以 svn checkout 開始的 jenkins 作業。 問題是,即使將 scm svn 憑據傳遞給作業,它仍然希望我從下拉列表中手動選擇憑據。

是否有任何插件/方法可以為任何新作業默認設置 SVN 憑據?

謝謝!

選項1:

編輯:如果您只想為作業提供默認憑據,請使用管道插件並將其分配給憑據的“ID”。

創建 credentialId 參數,給它一個默認值(憑據的 id)。

在您的 groovy 腳本中執行以下操作:

checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: "${credentialId}" ..........//The rest

你可以簡化你的過程,這樣做:

選項 2 :如果您想將其作為動態參數執行:

步驟 #1 創建憑據並為其指定 ID,例如:

在這種情況下“devops_dev”

在此處輸入圖片說明

第 2 步因此,形成 Tomcat 或您將使用的任何內容,將“devops_dev”作為參數傳遞給作業。

第 3 步在工作中你應該做管道插件(目前最流行的和“將要”)

步驟 #4 在您的 SVN 結帳中,您可以執行以下操作:

checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: "${credentialId}", depthOption: 'infinity', ignoreExternalsOption: true, local: 'project', remote: "${svn}"]], workspaceUpdater: [$class: 'CheckoutUpdater']])

請注意,您的工作必須是一個名為“credentialId”的參數,請注意 ${credentialId} 作為參數,在這種情況下它是從 tomcat 發送的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM