techiall / Blog

🍋 [My Blog] See discussions
https://github.com/techiall/Blog/discussions
MIT License
8 stars 1 forks source link

基于 GitHub Action 构建自定义 ElasticSearch Docker 镜像 #67

Open techiall opened 4 years ago

techiall commented 4 years ago

前阵子写了一个基于 GitHub Action 构建 ElasticSearch Docker 镜像

允许自定义 ES 版本,在 ES 镜像中添加了中文分词插件

构建完成后自动发布 GitHub Packages 中,当然了也支持发布其他的网站,如 Docker Hub,阿里云的容器服务

项目地址:https://github.com/techial1042/elastic-star-action

项目记录

首先需要知道如何写 GitHub Action 脚本,这里推荐阮一峰写的两篇关于 GitHub Action 教程。


如果要发布到 GitHub Packages 中去的话,需要申请 GitHub 的 Access Token,网站在这: https://github.com/settings/tokens/new

image

勾选这几个,点击下方的 Create Token 生成 token,并保存 token。

docker login docker.pkg.github.com --username=${{ secrets.USERNAME }} --password=${{ secrets.TOKEN }}

${{ secrets.USERNAME }} 对应你的 GitHub 账户名。

${{ secrets.TOKEN }} 也就是对应刚才生成的 token,如果直接使用密码,确实是可以正常登录,但是没法推送到 GitHub Packages。

如果想推送到阿里云的镜像服务,和推送到 GitHub Packages 同理,但是选择选择区域的时候,记得选 中国(香港)

我试过选了 华南1(深圳),构建完的 ES 镜像没法推送到这个区域。

image


修改 .env 中的 ES_VERSION 变量,就可以构建不同版本的 ES 镜像。


构建完镜像后,推到镜像仓库,再拉到本地即可,经测试,使用阿里云 中国(香港) 区域拉取镜像,挺快的。

当然了有兴趣的可以 fork 这个项目,基于这个项目进行二次开发,添加一些其他的功能。