部落格
2021/06/08
如何驗證 Beam 版本發佈
執行新的版本發佈是任何軟體專案的核心責任。在 Apache 專案的文化中,這甚至更為重要。發佈是專案社群中新程式碼/功能的主要流程。
Beam 也不例外:我們渴望保持大約每 6 週發佈一次的節奏,並嘗試與社群合作發佈有用的新功能,並保持 Beam 的實用性。
設定 Java 建置以驗證 Beam 發佈候選版本
首先,在您的 pom.xml
中使用單一屬性來保存您正在使用的全域 Beam 版本會很有用。類似這樣在您的 pom.xml
中:
其次,您可以將新的設定檔新增到您的 pom.xml
檔案。在此新設定檔中,新增一個新的儲存庫,其中包含新 Beam 發佈的暫存儲存庫。對於 Beam 2.27.0,它是 https://repository.apache.org/content/repositories/orgapachebeam-1149/
。
一旦您的 pom.xml
中有 beam.version
屬性,以及一個帶有新版本的新設定檔,您就可以執行 mvn
命令,啟用新設定檔和新的 Beam 版本。
mvn test -Pvalidaterelease \
-Dbeam.version=2.27.0 \
-Dbeam.release.repo=https://repository.apache.org/content/repositories/orgapachebeam-XXXX/
這應該會根據新版本建置您的專案,並執行基本測試。它將允許您根據新的 Beam 版本執行基本驗證。如果您發現任何問題,您可以在發佈最終版本之前分享它們,以便社群可以解決您的疑慮。
設定 Python 建置以驗證 Beam 發佈候選版本
對於 Python SDK 發佈,您可以透過啟用預發佈工件的安裝,從 Pypi 安裝 SDK。
首先,請確保您的 requirements.txt
或 setup.py
檔案允許高於目前版本的 Beam 版本。類似這樣應該會安裝最新的可用版本:
apache-beam<=3.0.0
有了這個,您可以要求 pip
在您的環境中安裝 Beam 的預發佈版本。
pip install --pre apache-beam
有了這個,您環境中的 Beam 版本將是最新發佈候選版本,您可以繼續執行測試以驗證一切正常。
針對 RC SDK 驗證 Prism Runner RC
將 v2.59.0-RC1 替換為要驗證的 RC 版本的標籤。
Python
若要使用 Python 驗證 prism runner,請使用 --runner=PrismRunner --prism_location=https://github.com/apache/beam/releases/tag/v2.59.0-RC1 --prism_beam_version_override=v2.59.0
runner
標誌設定 Beam 使用 Prism。prism_location
設定 Prism 資產的來源。prism_beam_version_override
標誌設定這些工件的標籤。- 資產會包裝為最終發佈版本,因此需要覆寫。
Java
對於 Gradle,請將 Prism 和 JAMM 相依性新增到您的 build.gradle
。
implementation "org.apache.beam:beam-runners-prism-java:2.59.0"
implementation "com.github.jbellis:jamm:0.4.0"
然後新增以下標誌,並相應地替換版本。
–runner=PrismRunner –prismLocation=“https://github.com/apache/beam/releases/tag/v2.59.0-RC1/" –prismVersionOverride=v2.59.0
runner
標誌設定 Beam 使用 Prism。prismLocation
設定 Prism 資產的來源,特別是相關版本的 zip 檔案。
設定 Go 建置以驗證 Beam 發佈候選版本
對於 Go SDK 發佈,您可以使用 go get
,透過請求特定的預發佈版本來擷取 Go SDK RC。
例如,若要請求 2.44.0 的第一個發佈候選版本:
go get -d github.com/apache/beam/sdks/v2@v2.44.0-RC1
這樣,您 go.mod
中的 Beam 版本將是指定的發佈候選版本。您可以繼續執行測試以驗證一切正常。
您可能還需要在執行作業時指定 RC 的相符容器。使用 --environment_config
標誌來指定發佈候選容器:例如 --environment_config=apache/beam_go_sdk:2.44.0rc1