释放 Maven
由于几个额外的步骤,Maven 的发布过程略有不同。
目标是将候选版本提交到 svndev
树https://dist.apache.org/repos/dist/dev/maven/maven-3 / $VERSION
。投票通过后,svn 移至release
https://dist.apache.org/repos/dist/release/maven/maven-3 / $VERSION
。
树目录是:
https://dist.apache.org/repos/dist/dev/maven/maven-3/
`-- $VERSION/
|-- binaries/
| |-- apache-maven-$VERSION-bin.tar.gz
| |-- apache-maven-$VERSION-bin.tar.gz.asc
| |-- apache-maven-$VERSION-bin.tar.gz.sha512
| |-- apache-maven-$VERSION-bin.zip
| |-- apache-maven-$VERSION-bin.zip.asc
| `-- apache-maven-$VERSION-bin.zip.sha512
`-- source/ (notice: singular...)
|-- apache-maven-$VERSION-src.tar.gz
|-- apache-maven-$VERSION-src.tar.gz.asc
|-- apache-maven-$VERSION-src.tar.gz.sha512
|-- apache-maven-$VERSION-src.zip
|-- apache-maven-$VERSION-src.zip.asc
`-- apache-maven-$VERSION-src.zip.sha512
请注意,失败版本的策略是继续使用新版本。产生失败发布的标签留待后人使用。因此,如果 3.2.4 的发布失败,那么我们将继续使用 3.2.5。
生成候选版本
对于非 alpha/beta 版本,候选版本在实际发布之前生成。
签出https://dist.apache.org/repos/dist/dev/maven/maven-3然后创建必要的目录树。
将二进制文件和 src-tar.gz 及其 sha512/asc 复制到创建的目录中。
要生成候选版本,请仅执行以下过程中的前七个步骤:
使用的版本应该是带有 -RC1、-RC2 等的最终版本。
生成 RC 后,要求开发人员测试列表中的版本。如果发现回归,则会推出一个新的候选版本。
在没有发现回归的合理时间之后,如果发布经理愿意(例如,users@),可以调查更广泛的受众。
一旦对发布候选感到满意,就会执行完整的发布,最终版本就位。
制作发行版
为了生成最终版本,遵循与标准项目相同的过程:
下面描述了在这些说明中更新网站时需要采取的其他步骤。
准备发行说明
结帐 Maven 站点源https://github.com/apache/maven-site.git。
创建发行说明:
- 创建
content/markdown/docs/$version
- 创建
content/markdown/docs/$version/release-notes.md
(参见其他版本的示例)
暂存最新文档
一旦准备好发布,但在发布投票之前,网站需要上演。
从发布结帐中,暂存站点:
mvn -Preporting site site:stage
mvn scm-publish:publish-scm
这将在/ref/3-LATEST中发布 Maven 核心站点。
完成发布
投票成功后,您应该执行以下步骤来完成发布。
将新版本添加到 ASF 分发目录
除了提升存储库外,还应将发布档案移至发布 svnpubsub 树:
svn mv https://dist.apache.org/repos/dist/dev/maven/maven-3/$VERSION https://dist.apache.org/repos/dist/release/maven/maven-3 -m "Publish Maven $VERSION Distribution Archives"
更新 DOAP 信息
编辑https://github.com/apache/maven/blob/master/doap_Maven.rdf以列出新版本。
更新网站
结帐 Maven 站点源https://github.com/apache/maven-site.git。
对于 3.x:更新versions3x
,currentStableVersion
和currentStableReleaseDate
中的属性pom.xml
接下来,更新发布历史content/markdown/docs/history.md.vm
。
仅在镜像上存在版本并且参考文档已部署到/ref/时才部署站点。
将最新文档部署到目标版本化位置
Maven 核心源代码参考和 API 文档的参考文档已在上一步中上演:现在需要将其部署到其专用目录,然后再部署指向新版本的网站。
这包括在网站 svn 树中将登台 /ref/3-LATEST 目录复制到最终 /ref/ $VERSION
。
svn cp https://svn.apache.org/repos/asf/maven/website/components/ref/3-LATEST https://svn.apache.org/repos/asf/maven/website/components/ref/$VERSION -m "Maven $VERSION released"
/ref/current
机制信息
从到实际 Maven 版本参考的重定向/ref/current
是通过.htaccess
在站点中发布的。
部署发布网站
一旦上述两个都同步到主站点和适当数量的镜像,继续更新网站并制作公告。
提交您的更改,然后部署主 Maven 站点。
从 ASF 分发目录中删除旧版本
接下来,应从上述位置删除任何被取代的版本(在确认它们存在于 /www/archive.apache.org/dist/maven 之后)。
继续公告
您现在可以继续在Maven 项目通用发布程序上部署网站后概述的步骤