小记:如何将 Logstash7 镜像替换为 KonaJDK

2022-11-02 14:11:57 浏览数 (1)

Step 0 预备环境

Rake 是一个由 Ruby 实现的 Make-like 工具,可以用 Ruby 来编排项目任务流程,例如出二进制包、构建镜像等。在 GitHub Logstash 项目的 rakelib 里找到镜像构建逻辑。

构建之前,需要保证构建机包含以下工具:

  • Docker
  • GNU Make
  • Python 3.5 with Virtualenv
  • JRuby 9.1 (实际上 Mac 自带 Ruby 也是可行的)

然后将 Logstash 项目 clone 到本地,并切换到预期修改的版本:

代码语言:javascript复制
git checkout v7.16.2

Step 1 精简构建步骤

构建步骤中,默认会包括 WindowsMacOS 以及 Arm 的构建,如果你并不需要这些平台,可以如下手动修改构建步骤,能够大大加快你的构建速度:

代码语言:javascript复制
# create_archive_pack(license_details, "x86_64", "linux", "windows", "darwin")
create_archive_pack(license_details, "x86_64", "linux")
# create_archive_pack(license_details, "arm64", "linux")

artifacts.rake

Step 2 修改 Python 版本

如果你不想为了构建镜像额外下载其他 Python 版本,可以手动修改 Makefile

代码语言:javascript复制
# PY_VERSION ?= 3.6.13
# =>
PY_VERSION ?= 3.6.7

Makefile

理论上保证 Python 版本大于 3.5 即可。

Step 3 指定 JDK 版本

如标题所示,我们的目标是将 Logstash 镜像里的 OpenJDK 替换成 KonaJDK。构建时手动指定 JDK 地址即可

代码语言:javascript复制
JDK_URL=https://github.com/Tencent/TencentKona-11/releases/download/kona11.0.13-fiber/TencentKona-11.0.13.b1_jdk_fiber_linux-x86_64.tar.gz rake artifact:docker

等待构建,大功告成 xD

0 人点赞