發布指南

開發人員 > 發布指南

如何建立和發布 ActiveMQ Classic 版本。此發布基於 在 Apache 發布基於 Maven 的專案的一般指南,因此請務必在繼續之前查看並滿足所有先決條件。

Maven 2 設定

在使用 Maven 2 將任何內容部署到 Maven 儲存庫之前,您應該配置您的 ~/.m2/settings.xml 檔案
以便部署工件的檔案權限是群組可寫入的。如果您不這樣做,其他開發人員將無法使用較新的版本覆蓋您的 SNAPSHOT 版本。

<settings>
  ...
  <servers>

    <server>
      <id>apache.snapshots.https</id>
      <username>dejanb</username>
    </server>
    <!\-\- To publish a website of some part of Maven -->
    <server>
      <id>apache.website</id>
      <username>dejanb</username>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
    <!\-\- To stage a release of some part of Maven -->
    <server>
      <id>apache.releases.https</id>
      <username>dejanb</username>
    </server>
    <!\-\- To stage a website of some part of Maven -->
    <server>
      <id>stagingSite</id> <!-- must match hard-coded repository identifier in site:stage-deploy -->
      <username>dejanb</username>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>

  </servers>
  ...
</settings>

對於非互動式登入,在 people.apache.org 上將您的 umask 設定為 2 也是至關重要的。如果您的 shell 是 tcsh,您可以編輯 .cshrc 以包含

umask 2

其他 shell 初始化檔案可能會干擾此設定,但如果這是唯一的 umask 設定,它似乎可以正常工作。歡迎提供其他 shell 的說明。

使用發布和暫存外掛程式的其他本機設定。

若要有效地使用發布和暫存外掛程式,您需要一些關於暫存將發生在哪裡以及 gpg 的簽署資訊。您的 ~/.m2/settings.xml 應該包含類似這樣的設定檔

<settings>
    <profiles>
        <profile>
          <id>apache-release</id>
          <properties>
             <gpg.passphrase>secretPhrase</gpg.passphrase>
         </properties>
        </profile>
    </profiles>
 ...
</settings>

建立 ActiveMQ Classic 版本

發布外掛程式會提示輸入發布版本、標籤和下一個發布版本。使用 5.x.x 形式的三位數發布版本,對於標籤,使用 activemq-5.x.x 形式的字串。下一個版本字串應使用 5.x-SNAPSHOT 形式的兩位數,因為這可以與未來的 SNAPSHOT 版本保持一致。

  1. 驗證待發布的版本識別碼是否存在於 META-INF/spring.schemas 對應檔案以及 activemq-osgi/src/main/resources/META-INF/spring.schemas 檔案中,如果不存在,請新增並提交。它應該包含
    https://activemq.dev.org.tw/schema/core/activemq-core-${pom.version}.xsd=activemq.xsd
    
  2. 使用 rat 驗證標頭
    mvn -e apache-rat:check
    grep -e ' !?????' target/rat.txt -- will show any files without licenses
    
  3. 執行發布試執行以檢查問題
    mvn release:prepare -DdryRun=true
    

    檢查您是否對結果感到滿意。建議標籤的 pom 將位於 pom.xml.tag 中。當您喜歡結果時,請清理

    mvn release:clean
    
  4. 準備發布
    mvn release:prepare
    

    這將在 git 中建立標籤,並在本機保留各種內容以引導執行階段。

  5. 建立發布設定的本機副本,以防萬一發生錯誤
    cd ..
    cp -r activemq-release activemq-release-prepared
    cd activemq-release
    
  6. 執行發布到暫存儲存庫
    mvn release:perform
    

    這同時使用 activemq 發布設定檔(指示建立來源 jar、javadoc jar 和簽署所有內容),以及 settings 發布設定檔(說明在哪裡
    放置內容以及如何簽署它)。

  7. 關閉暫存儲存庫
    引述 Apache 專案的 Maven 發布指南

    使用您的 Apache LDAP 憑證登入 https://repository.apache.org。按一下「暫存」。然後按一下儲存庫列表中的「maven」。在下面的面板中,您應該會看到一個連結到您的使用者名稱和 IP 的開啟儲存庫。在該儲存庫上按一下滑鼠右鍵,然後選取「關閉」。這將關閉儲存庫,使其無法進行未來部署,並可供其他人檢視。如果您要一起暫存多個發布版本,請跳過此步驟,直到您暫存完所有內容。在「描述」欄位中輸入正在發布的工件的名稱和版本,然後按一下「關閉」。這將使稍後更容易識別它。

    請參閱原始指南中的影像以瞭解更多資訊。

  8. 驗證暫存的工件
    引述 原始指南

    如果您按一下您的儲存庫,下方會出現樹狀檢視。然後您可以瀏覽內容,以確保工件符合您的預期。請特別注意 *.asc(簽章)檔案是否存在。如果您不喜歡儲存庫的內容,請在您的儲存庫上按一下滑鼠右鍵,然後選擇「捨棄」。然後,您可以復原您的發布並重複該過程。
    請注意儲存庫 URL,您將在您的投票電子郵件中需要它。

  9. 從 release:perform 在上一個步驟中簽出的 target/checkout 中的標籤建立網站。
    請注意,需要 -Prelease 設定檔來指定 settings.xml 中設定暫存位置的設定檔。
    cd target/checkout
    mvn site -Prelease
    
  10. 在 svn 中填入 Javadocs 網站 svn co https://svn.apache.org/repos/infra/websites/production/activemq/content cd content/maven mkdir <version> #將網站外掛程式建立的 apidocs 資料夾複製到 <version>/apidocs svn add <version> svn rm apidocs ln -s <version>/apidocs apidocs svn add apidocs #並在它看起來不錯時提交。
  11. 使用儲存庫中已有的 helper 指令碼,在 SVN dist dev 區域中暫存正式發布工件,供人員測試和投票: svn co https://dist.apache.org/repos/dist/dev/activemq/activemq/ cd activemq ./prepare-release.sh <nexus-staging-repo-url> <version> # 範例:./prepare-release.sh https://repository.apache.org/content/repositories/orgapacheactivemq-1149 5.15.1 svn add <version> 並在它看起來不錯時提交。

  12. 在開發人員清單上呼籲投票,列出發布版本的所有新功能。

在投票通過後

  1. 升級發布版本(即發布暫存儲存庫):登入 https://repository.apache.org,瀏覽至暫存儲存庫,然後按一下「發布」按鈕。 
  2. 將暫存的發布檔案從 SVN dist dev 資料夾複製到 SVN dist release 資料夾: https://dist.apache.org/repos/dist/release/activemq/
    svn cp -m "add files for activemq-<version>" https://dist.apache.org/repos/dist/dev/activemq/activemq/<version> https://dist.apache.org/repos/dist/release/activemq/<version>
    # Example: svn cp -m "add files for activemq-5.15.1" https://dist.apache.org/repos/dist/dev/activemq/activemq/5.15.1 https://dist.apache.org/repos/dist/release/activemq/5.15.1
    
  3. 在 svn 中填入架構網站
    svn co https://svn.apache.org/repos/infra/websites/production/activemq/content
    cd content/schema/core
    curl --remote-name-all https://repository.apache.org/content/repositories/releases/org/apache/activemq/activemq-spring/<version>/activemq-spring-<version>{-schema.html,.xsd}{.asc,.asc.md5,.asc.sha1,.sha1,.md5,}
    for i in activemq-spring-5.9.0*; do mv -- "$i" "${i//spring/core}"; done;
    svn add activemq-core-5.9.0*
    svn rm activemq-core.xsd
    ln -s activemq-core-5.9.0.xsd activemq-core.xsd
    svn add activemq-core.xsd
    # and commit once it looks good.
    
  4. 繼續下方的「宣布」區段
  5. 為下一個發布版本建立一個進行中的 Wiki 頁面
  6. 從 dist 網站中移除任何不再支援的發布版本,並更新該發布版本的 Wiki 頁面,使其指向下載的封存。

宣布 ActiveMQ Classic 發布版本

  1. 在 JIRA 中執行發布,並在 JIRA 中建立新的發布版本。
    1. 先將未解決的問題批量移動到下一個發布版本(不要傳送電子郵件)更新
    2. 您可能還想要搜尋已解決/已關閉且沒有修復版本的議題,以防萬一
  2. 藉由在 src/_releases/ 中新增檔案並將其名稱命名為轉換為整數的版本(例如,5.16.1 的檔案應命名為 activemq-5016001-release.md),為發布版本建立下載頁面。Front Matter 必須包含 versionrelease_notesrelease_datetitle。例如,這可能是基於 5.16.1 發布的預期內容
    ---
    version: 5.16.1
    release_notes: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311210&version=12347027
    release_date: Jan 20, 2021
    title: ActiveMQ Classic 5.16.1 Release 
    ---
    Apache ActiveMQ Classic  was released on . It fully supports JDK 9+ at runtime and includes several resolved [issues]() and bug fixes.
    
  3. 如有必要,請編輯 src/_data/current_releases.yml 中的 5x 清單,以更新目前版本。在 下載頁面上會自動包含在 src/_releases/ 中發布的主要版本和小版本中最新修補程式發布。
  4. 使用 HTML 和 XSD 的連結更新 Xml 參考頁面
  5. 更新 快速連結JavaDocs 頁面
  6. 將郵件寄給 開發人員 & 使用者 清單
  7. 在 WIKI 上發布新聞條目
  8. 推文
  9. 喝一杯啤酒!

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 The Apache Software Foundation 的商標。版權所有 © 2024,The Apache Software Foundation。根據 Apache License 2.0 授權。