Java 21 Alpine 基础运行时镜像,供 oauth-centre 等服务构建使用
- Shell 100%
| .forgejo/workflows | ||
| ci | ||
| docker | ||
| BaseDockerfile | ||
| Java11Dockerfile | ||
| Java17Dockerfile | ||
| Jdk11Dockerfile | ||
| Jdk17Dockerfile | ||
| Jdk21Dockerfile | ||
| README.md | ||
azul-alpine
Java 11/17/21 Alpine 基础运行时和构建工具链镜像。JRE 供 Maven 服务的 Docker 制品使用;JDK 供中央 CI 镜像构建使用。
镜像
gitea.sankcrm.cn/java/azul-alpine:21-jregitea.sankcrm.cn/java/azul-alpine:11-jregitea.sankcrm.cn/java/azul-alpine:17-jregitea.sankcrm.cn/java/azul-alpine:latestgitea.sankcrm.cn/java/azul-alpine:11-jdkgitea.sankcrm.cn/java/azul-alpine:17-jdkgitea.sankcrm.cn/java/azul-alpine:21-jdk
三套 *-jdk 镜像直接继承 Azul 官方 azul-zulu Alpine JDK,并在构建期校验
java.vendor、java 和 javac。中央 CI 只引用 Forgejo 内部标签,不直接访问
Docker Hub,也不会通过 Alpine openjdk*-jdk 包混入其他 JDK 发行版。
11-jre 使用 Java11Dockerfile 构建,基础层固定到内网 Java 21
镜像的不可变 Digest,再安装 Alpine Java 11 headless JRE。这样业务镜像
不需要访问 Docker Hub,默认 java 也会在构建期校验为 Java 11。
本地构建
docker build -f BaseDockerfile -t gitea.sankcrm.cn/java/azul-alpine:21-jre .
docker build -f Java11Dockerfile -t gitea.sankcrm.cn/java/azul-alpine:11-jre .
docker build -f Java17Dockerfile -t gitea.sankcrm.cn/java/azul-alpine:17-jre .
docker build -f Jdk11Dockerfile -t gitea.sankcrm.cn/java/azul-alpine:11-jdk .
docker build -f Jdk17Dockerfile -t gitea.sankcrm.cn/java/azul-alpine:17-jdk .
docker build -f Jdk21Dockerfile -t gitea.sankcrm.cn/java/azul-alpine:21-jdk .
推送到 Forgejo 容器仓库前,先执行 docker login gitea.sankcrm.cn。
自动发布
推送到 main 分支后,JRE 工作流按各自源文件发布;JDK 工作流按三个 JDK
Dockerfile 的变更发布,也支持从 Forgejo Actions 页面手动运行。
Java 11 镜像发布使用 Java 组织级 Secret JAVA_PACKAGE_TOKEN,该令牌需要
write:package 权限。内置 FORGEJO_TOKEN 不具备该权限,不用于镜像推送。