中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何了解并使用Jenkins-X UpdateBot

發布時間:2021-11-02 18:12:01 來源:億速云 閱讀:128 作者:柒染 欄目:云計算

這期內容當中小編將會給大家帶來有關如何了解并使用Jenkins-X UpdateBot,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Jenkins-X UpdateBot 是用于在項目源代碼中自動更新依賴項版本的工具。假設您正在構建兩個項目 A 和 B,B 使用 A 作為依賴項。A 的發布過程可以使用 UpdateBot 更新項目 B 的源,以使用 A 的新版本。在 pull request 中使用 UpdateBot,可以測試和檢查更改或自動合并更改。

在 Jenkins-X platform 中,UpdateBot 由 Jenkinsfile 中的 UpdateBot 命令自動顯示和調用。但是 UpdateBot 也可以在 Jenkins-X 之外使用,并且單獨運行它可以幫助了解它可以做什么并測試版本替換。因此,讓我們用一個簡單的測試項目來嘗試一下。

配置演示 

UpdateBot 可以為各種不同的文件類型設置版本-我們不會在這里對它們進行全部測試,但是我們希望一個項目具有多個功能。因此,我們可以使用 JHipster sample app 示例應用程序,因為它具有 Maven pom.xml,npm package.json 和 Dockerfile。我們將對其運行 UpdateBot,以查看 UpdateBot 可以替換這些資源文件中哪些內容。

我們可以下載 UpdateBot jar file(v1.1.31),并為要更新的項目設置指向 GitHub 存儲庫的簡單 UpdateBot 配置文件:

github:
  organisations:
  - name: ryandawsonuk
    repositories:
    - name: jhipster-sample-app
      useSinglePullRequest: true

useSinglePullRequest 標記意味著將創建一個包含我們所做的所有更改的 PR。但是我們實際上并不會進行任何更改-我們將在本地運行它,這樣我們就不需要 GitHub 對存儲庫的寫權限。通過設置環境變量,我們可以在不推送到 GitHub 的情況下運行:

export UPDATEBOT_DRY_RUN=true

然后,我們仍然需要使用 UPDATEBOT_GITHUB_USER 和 UPDATEBOT_GITHUB_PASSWORD(Token)的其他環境變量設置 git 憑據。

然后,我們可以運行一些 UpdateBot 命令,并查看從 Git 克隆的項目中替換了什么。為此,我們可以在 GitHub 上使用一個包含預配置腳本的演示項目。

運行演示 

首先,腳本更新了 maven pom.xml,要求更改 Spring Boot 版本:

java -jar updatebot-1.1.31.jar push-version --kind maven org.springframework.boot:spring-boot-starter-data-jpa 2.1.0.RELEASE

然后檢查更改并輸出 git diff,我們可以看到以下結果:如何了解并使用Jenkins-X UpdateBot

因此版本被替換了。請注意,在依賴項引用的屬性中將其替換,在這種情況下,pom.xml 在屬性中具有此版本。UpdateBot 還可以用于直接在依賴項或父項或插件中進行的更改。

對 package.json 的更改是將 ngx-cookie 版本更改為 2.0.2:

java -jar updatebot-1.1.31.jar push-version --kind npm ngx-cookie 2.0.2

這正是我們所期望的:如何了解并使用Jenkins-X UpdateBot

對 Dockerfile 的更改是將 openjdk 版本/標簽更改為 jdk8:

java -jar updatebot-1.1.31.jar push-version --kind docker openjdk 8-jdk

這表明我們可以抓取出來。Dockerfile 實際上使用兩個不同的 openjdk 鏡像,每個鏡像都有一個不同的標簽,并且此命令將替換這兩個鏡像:如何了解并使用Jenkins-X UpdateBot

我在運行命令之前沒有考慮過這一點,因此在這里我需要確定我真正要替換的內容。

實際運行 

如果我們在沒有 dry-run 標記的情況下運行,則將創建一個真實的 pull request,前提是我們有權創建它。

如何了解并使用Jenkins-X UpdateBot

UpdateBot 具有自動合并 pull request 的功能,例如通過輪詢 GitHub 來檢查 PR 狀態并合并是否一切正常(命令為updatebot update-loop)。但是,GitHub 確實對這些請求進行了速率限制,因此 UpdateBot 也可以將其批準添加到 PR 中,以使其通過與 GitHub 直接集成的工具進行合并。當使用諸如 prow 或 mergify 之類的工具進行自動合并時,這可能會很好地工作。

UpdateBot 可以嘗試僅通過使用 updatebot push 而不是帶有顯式參數的 updatebot push-version 來推斷要作為提交觸發管道的一部分進行的更改。但是,通常管道作業將有權訪問要推送的版本,而 push version 使更改更明確且更易于跟蹤。

本示例使用單個 UpdateBot YAML 文件將一組依賴項/版本推送到一個下游項目。YAML 文件還支持將一組更改推送到多個下游存儲庫。UpdateBot 推送其能夠進行的所有替換,以便每個下游存儲庫都獲得適用于它的所有更改。

例如,在構建沒有快照的 Maven 項目時,UpdateBot 可用于在 CI/CD 設置中傳播版本。但是,正如我們已經看到的那樣,它不僅限于 Maven,而且可以對產生各種不同類型制品的項目進行一系列更改。

上述就是小編為大家分享的如何了解并使用Jenkins-X UpdateBot了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿克陶县| 巴林左旗| 石嘴山市| 阜宁县| 西贡区| 含山县| 汶上县| 罗江县| 达孜县| 会泽县| 稻城县| 潼南县| 班玛县| 驻马店市| 迁西县| 同仁县| 柯坪县| 娄底市| 博湖县| 湖北省| 峨山| 余江县| 清水县| 黑河市| 汕尾市| 望都县| 定西市| 古浪县| 洪雅县| 湖南省| 东平县| 温州市| 容城县| 元阳县| 资源县| 淮北市| 海兴县| 沙田区| 巴东县| 福安市| 肃南|