簡體   English   中英

Jenkins 作業無需構建步驟即可創建 Powershell Jenkins 自動化

[英]Jenkins Job gets created without Build Steps Powershell Jenkins Automation

我的團隊在 VM 上有一個在線 Jenkins,我們都在使用它。 我們想在本地安裝 Jenkins 用於測試目的和多任務處理。 我編寫了一個腳本,從在線 Jenkins 獲取所有作業並將它們上傳到我本地的 Jenkins。 問題是作業在沒有構建步驟的情況下被上傳。 但是當我查看 config.xml 時,這些步驟就在那里,但它們根本沒有顯示在儀表板上,也沒有運行。

這就是我上傳它們的方式:

$headers = @{'Authorization' = 'Basic ' + [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("$($Username):$($Password)")); 'Jenkins-Crumb' = $Crumb }
        $response = Invoke-WebRequest `
            -Uri "$($Url)createItem?name=$JobName" `
            -Headers $headers `
            -ContentType "text/xml" `
            -Body $JobConfig `
            -WebSession $Global:crumbSession `
            -Method Post

我懷疑的是,當我查看在線 Jenkins 的 config.xml 時,配置如下所示:

<?xml version='1.1' encoding='UTF-8'?>
<project>
  <actions/>
  <description>

但是上傳到我本地 Jenkins 的那個看起來像這樣:

<?xml version="1.1" encoding="UTF-8"?>
<project>
  <actions/>
  <description>

它們之間存在細微差別,例如單引號和雙引號,以及一些正在轉換的 HTML 實體。 除此之外,我不知道為什么它不顯示構建步驟,因為我提到構建器標簽在兩個配置中都存在,完全相同,但它根本不會出現在儀表板上,也不會運行.

感謝閱讀:)

所以經過一番挖掘,我設法找到了這個問題的根本原因。 問題是兩個Jenkins的版本不同。 網上的Jenkins的版本是2.176.3,我本地的Jenkins是2.222.4高一點的。 將作業從舊版本加載到新版本會導致加載作業時出現一些錯誤。 顯然向后兼容性不是 Jenkins 的問題:)。

暫無
暫無

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

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