本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

maven-release Docker 镜像下载 - 轩辕镜像

maven-release 镜像详细信息和使用指南

maven-release 镜像标签列表和版本信息

maven-release 镜像拉取命令和加速下载

maven-release 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

maven-release
qcastel/maven-release

maven-release 镜像详细信息

maven-release 镜像标签列表

maven-release 镜像使用说明

maven-release 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

预设了git、maven和gpg的Docker镜像,包含用于bot触发发布的脚本,支持GPG签名、SSH git认证、版本递增(主/次/补丁)、发布失败回滚及自定义发布分支等功能。
0 次下载activeqcastel镜像

maven-release 镜像详细说明

maven-release 使用指南

maven-release 配置说明

maven-release 官方文档

Maven Release Docker镜像

概述

该Docker镜像预设了git、maven和gpg环境,并集成了由bot触发发布的脚本,旨在简化Maven项目的自动化发布流程。通过提供预置工具链和自动化脚本,支持GPG签名、版本管理、安全认证等关键发布环节,适用于CI/CD环境中由bot执行的可靠发布任务。

核心功能和特性

  • GPG签名:支持使用GPG对发布 artifacts 进行签名,确保完整性与真实性
  • SSH git仓库认证:通过SSH私钥实现git仓库的安全访问与认证
  • Bot用户提交:使用指定的bot用户信息执行git提交操作,明确发布主体
  • 版本递增:支持主版本(Major)、次版本(Minor)或补丁版本(Patch)的自动递增
  • 发布失败回滚:若mvn prepare步骤执行失败,自动回滚发布过程,保障代码库一致性
  • 自定义发布分支名:允许指定自定义发布分支,控制发布触发条件
  • 日志时间戳:日志中包含时间戳,便于追踪和排查Maven性能问题

使用场景和适用范围

适用于需要自动化Maven项目发布流程的场景,特别适合:

  • 需对发布 artifacts 进行GPG签名的安全合规项目
  • 使用SSH协议管理git仓库的版本控制流程
  • 要求严格区分主/次/补丁版本的版本管理策略
  • 需要发布失败自动恢复机制的高可靠性发布流程
  • CI/CD流水线中由bot触发的自动化发布任务

使用方法和配置说明

核心脚本

镜像内置核心发布脚本:release.sh,用于执行完整的发布流程自动化。

环境变量配置

脚本运行依赖以下环境变量,需根据项目需求配置:

GPG相关配置

变量名说明
GPG_ENABLED是否启用GPG签名(true/false)
GPG_KEY_IDGPG签名密钥ID
GPG_KEYbase64编码的GPG私钥
GPG_PASSPHRASEGPG私钥解密密码

SSH相关配置

变量名说明
SSH_PRIVATE_KEYbase64编码的SSH私钥
SSH_ROOT_FOLDERSSH根目录,默认值为${SSH_ROOT_FOLDER}
SSH_EXTRA_KNOWN_HOST需添加到.ssh/known_hosts的额外主机名
SSH_PASSPHRASESSH私钥解密密码(若私钥加密)

Maven相关配置

变量名说明
MAVEN_REPO_SERVER_IDMaven仓库服务器ID(用于推送artifacts)
MAVEN_REPO_SERVER_USERNAMEMaven仓库认证用户名
MAVEN_REPO_SERVER_PASSWORDMaven仓库认证密码
MAVEN_PROJECT_FOLDER执行Maven命令的项目根目录
MAVEN_ARGS发布过程中传递给Maven的额外参数
MAVEN_OPTIONMaven运行选项(如JVM参数等)
MAVEN_DEVELOPMENT_VERSION_NUMBER开发版本号格式
MAVEN_RELEASE_VERSION_NUMBER发布版本号格式

Docker Registry相关配置

变量名说明
DOCKER_REGISTRY_IDDocker仓库ID(如registry.hub.docker.com
DOCKER_REGISTRY_USERNAMEDocker仓库认证用户名
DOCKER_REGISTRY_PASSWORDDocker仓库认证密码

其他配置

变量名说明
SKIP_GIT_SANITY_CHECK设为true跳过git完整性检查(会重置分支)
SKIP_PERFORM设为false不跳过maven perform步骤
GIT_RELEASE_BOT_NAMEGit提交时使用的bot用户名
GIT_RELEASE_BOT_EMAILGit提交时使用的bot用户***
CI_COMMIT_SHA触发工作流的提交SHA值
CI_COMMIT_REF_NAME触发工作流的分支或标签引用
VERSION_MAJOR设为true以递增主版本号
VERSION_MINOR设为true以递增次版本号
RELEASE_BRANCH_NAME自定义发布分支名称(仅在该分支触发发布)

部署示例

Docker Run命令示例

bash
docker run -e GPG_ENABLED=true \
  -e GPG_KEY_ID=ABC*** \
  -e GPG_KEY="$(base64 /local/path/to/gpg_private.key)" \
  -e GPG_PASSPHRASE=your_gpg_passphrase \
  -e SSH_PRIVATE_KEY="$(base64 /local/path/to/ssh_private.key)" \
  -e MAVEN_REPO_SERVER_ID=central \
  -e MAVEN_REPO_SERVER_USERNAME=maven_user \
  -e MAVEN_REPO_SERVER_PASSWORD=maven_pass \
  -e VERSION_MINOR=true \
  -e RELEASE_BRANCH_NAME=release \
  [镜像名称] /release.sh

Docker Compose配置示例(片段)

yaml
version: '3'
services:
  maven-release:
    image: [镜像名称]
    environment:
      GPG_ENABLED: "true"
      GPG_KEY_ID: "ABC***"
      GPG_KEY: "${GPG_PRIVATE_KEY_BASE64}"
      GPG_PASSPHRASE: "${GPG_PASSPHRASE}"
      SSH_PRIVATE_KEY: "${SSH_PRIVATE_KEY_BASE64}"
      MAVEN_REPO_SERVER_ID: "central"
      MAVEN_REPO_SERVER_USERNAME: "${MAVEN_USERNAME}"
      MAVEN_REPO_SERVER_PASSWORD: "${MAVEN_PASSWORD}"
      VERSION_MINOR: "true"
      RELEASE_BRANCH_NAME: "release"
      GIT_RELEASE_BOT_NAME: "release-bot"
      GIT_RELEASE_BOT_*** "***"
    command: /release.sh

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"