[英]Extending the Jenkins Groovy DSL
如何向我的 Jenkins 實例添加/編輯可以在 DSL 腳本中訪問的新代碼? 上下文如下
我繼承了一個 Jenkins 實例。 inheritance 的一部分包括
在鬼屋
過夜,通過Jobs DSL 插件在 groovy 中編寫一些新的自動化。 因為我害怕破壞我們的 jenkins 實例,所以我的第一步是建立一個本地開發實例。
我在本地開發實例上運行我們現有的DSL 腳本之一時遇到問題——我在本地服務器上的構建失敗,並在 Jenkins 錯誤控制台中顯示以下內容。
Processing DSL script jobs.groovy
ERROR: startup failed:
jobs.groovy: 1: unable to resolve class thecompanysname.jenkins.extensions
有問題的腳本是這樣開始的。
import thecompanysname.jenkins.extensions
use(extensions) {
def org = 'project-name'
def project = 'test-jenkins-repo'
def _email = 'foo@example.com'
所以,據我所知,似乎前任已經編寫了一些他們正在導入的自定義 Groovy 代碼
import thecompanysname.jenkins.extensions
我不清楚的是
歡迎提供具體答案,因為我們在這里介紹了如何學習釣魚答案。
雖然可能有其他方法可以做到這一點,但經過一番探索后,我發現
我安裝的 Jenkins 實例安裝了舊版本的Jobs DSL 插件。
這個版本的 Jobs DSL 插件允許您在Process DSL Builds作業部分設置一個額外的classpath
,該類路徑指向額外jar
文件。
這些 jar 文件可以讓您訪問 groovy 腳本中的其他類(即公司名稱thecompanysname.jenkins.extensions
)
不幸的是,最新版本的Jobs DSL 插件已經刪除了這個選項,目前還不清楚是否可以重新添加它。 然而,這是另一個問題。
配置全局安全 -> 取消選中“為作業 DSL 腳本啟用腳本安全”。
為我工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.