Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add how to publish major version

...

  1. Set the released version to "released" and set the "release-date"

  2. Add the next version to the versions.

目前这个操作只能够由ppmc执行


12. 修改master分支代码

如果只是小版本发布,可以直接跳过本节。

当有大版本发布时,例如从0.9.3发布到0.10.0时,需要(1)修改master分支的版本号到0.11.0-SNAPSHOT;(2)更复杂的是修改官网的文档目录;(3)修改官网链接。

(1)master分支代码主要是修改版本号。

方法:

首先运行 `mvn clean -P site` 把target目录都清理下。

然后在IDEA中全局搜索 0.10.0-SNAPSHOT,逐个检查并替换成0.11.0-SNAPSHOT。

(2)修改官网的文档目录。该项工作也仅需要在发布大版本时操作。

方法:以添加0.10.x的文档为例,增加如下代码:


(2.1)在site/pom.xml中找到 ”<!-- download lagecy docs from iotdb repo -->“,在该plugin下的exectuions进行修改。

Code Block
languagexml
<execution>
    <id>get-0.10-docs</id>
    <phase>generate-sources</phase>
    <goals>
        <goal>wget</goal>
    </goals>
    <configuration>
        <url>https://github.com/apache/incubator-iotdb/archive/rel/0.10.zip</url>
        <outputDirectory>${project.build.directory}/download</outputDirectory>
        <outputFileName>0.10.x.zip</outputFileName>
    </configuration>
</execution>

注意上述代码中仅需要把0.10替换成对应的版本就行(注意版本号中的x保留)。

(2.2)找到"<!-- unpack lagecy docs from the zip files-->",在plugin下的exectuions进行修改。

Code Block
languagexml
<execution>
    <id>copy-0.10-documentation</id>
    <goals>
        <goal>copy</goal>
    </goals>
    <phase>generate-sources</phase>
    <configuration>
        <fileset>
            <directory>${project.build.directory}/download/0.10.x.zip/incubator-iotdb-rel-0.10/docs/UserGuide</directory>
            <outputDirectory>${project.build.directory}/vue-source/src/UserGuide/V0.10.x</outputDirectory>
        </fileset>
    </configuration>
</execution>
<execution>
    <id>copy-0.10-zh-documentation</id>
    <goals>
        <goal>copy</goal>
    </goals>
    <phase>generate-sources</phase>
    <configuration>
        <fileset>
            <directory>${project.build.directory}/download/0.10.x.zip/incubator-iotdb-rel-0.10/docs/zh/UserGuide</directory>
            <outputDirectory>${project.build.directory}/vue-source/src/zh/UserGuide/V0.10.x</outputDirectory>
        </fileset>
    </configuration>
</execution>

同理也只需要修改版本号就行(注意版本号中的x保留)。

(2.3)修改site/src/main/.vuepress/config.js 中的siderbar模块,添加相应链接。

格式上,每个文档的格式为:

Code Block
languagejs
linenumberstrue
{
 title: '0-Get Started',
 children: [
  ['0-Get Started/1-QuickStart','QuickStart'],
  ['0-Get Started/2-Frequently asked questions','Frequently asked questions'],
  ['0-Get Started/3-Publication','Research Papers']
 ]
}
title是显示给用户的文档一级目录名字。
children下每个是一个文档。逗号前面是docs/UserGuide文件夹下的相对路径(不含文件名上的".md"),逗号后面是显示给用户的文档名。

但是实际中一般不需要自己手动写这些条目:理论上'/UserGuide/Master/' 下对应的内容就直接拷贝过来,然后改名称当前版本号就行了。


注意中文、英文两个都要做。

此外再搜索nav模块,添加新版本的文档链接。

Code Block
languagejs
linenumberstrue
items: [
 { text: 'In progress', link: '/UserGuide/Master/Get Started/QuickStart' },
 { text: 'V0.10.x', link: '/UserGuide/V0.10.x/Get Started/QuickStart' },
 { text: 'V0.9.x', link: '/UserGuide/V0.9.x/0-Get Started/1-QuickStart' },
 { text: 'V0.8.x', link: '/UserGuide/V0.8.x/0-Get Started/1-QuickStart'},
]

Code Block
languagejs
linenumberstrue
items: [
  { text: 'In progress', link: '/zh/UserGuide/Master/Get Started/QuickStart' },
 { text: 'V0.10.x', link: '/zh/UserGuide/V0.10.x/Get Started/QuickStart' },
  { text: 'V0.9.x', link: '/zh/UserGuide/V0.9.x/0-Get Started/1-QuickStart' },
  { text: 'V0.8.x', link: '/zh/UserGuide/V0.8.x/0-Get Started/1-QuickStart'},
]


(2.4)因为这个改动太大了。建议做一遍编译检查下。

进入到site目录,运行`mvn  generate-sources`。

然后再进入site目录下的target/vue-source,运行`npm install`, `npm run dev`。

就能在本地测试网页了。(也可以在第13节的下载链接修改完成后但是还没部署前做测试)


13. 更新官网的下载链接

修改 docs/Download/README.md 和 zh/Download/README.md,注意表格中只保留每个大版本的最新版本。

...

之后需要手动部署网页,等待部署成功、官网更新后,再昭告天下:

...

14. 昭告天下!

当你确认多数镜像都同步好了之后,可以昭告天下发布新版本的信息了:

...

No Format
FROM openjdk:11-jre-slim
RUN apt update \
  # procps is for `free` command
  && apt install wget unzip lsof procps -y \
  #&& wget https://www-us.apache.org/dist/incubator/iotdb/0.9.1-incubating/apache-iotdb-0.9.1-incubating-bin.zip \
  && wget http://mirrors.tuna.tsinghua.edu.cn/apache/incubator/iotdb/0.9.1-incubating/apache-iotdb-0.9.1-incubating-bin.zip \
  && unzip apache-iotdb-0.9.1-incubating-bin.zip \
  && rm apache-iotdb-0.9.1-incubating-bin.zip \
  && mv apache-iotdb-0.9.1-incubating /iotdb \
  && apt remove wget unzip -y \
  && apt autoremove -y \
  && apt purge --auto-remove -y \
  && apt clean -y
EXPOSE 6667
EXPOSE 31999
EXPOSE 5555
EXPOSE 8181
VOLUME /iotdb/data
VOLUME /iotdb/logs
ENV PATH="/iotdb/sbin/:/iotdb/tools/:${PATH}"
ENTRYPOINT ["/iotdb/sbin/start-server.sh"]


注意该脚本可以存储到docker/src/main下。


然后本地构造image (注意运行的时候 要确保Dockerfile文件夹内没有别的文件):

...