atlassian/docker-release-makerAtlassian Docker Release Maker是一款自动化工具,专为Atlassian Server产品的Docker镜像生命周期管理设计。它能够自动执行镜像构建、测试、版本标记和发布流程,通过集成Atlassian Marketplace和Docker Hub API获取版本信息,支持复杂的标签策略、自定义构建参数传递及指定Dockerfile构建。该镜像包含Python测试依赖等工具和依赖项,适用于作为Atlassian产品Docker镜像构建与测试流水线的运行时环境。
6.5.4、6.5)、默认标签(latest)及后缀标签(如6.5.4-ubuntu)--create-eap标志创建早期访问版本(EAP)镜像通过命令行参数配置工具行为,核心命令包括:
make-releases.py --create:创建未发布版本的新镜像make-releases.py --update:更新所有已发布版本的镜像make-releases.py --create-eap:创建EAP版本镜像(若可用)yamlimage: atlassian/docker-release-maker:latest pipelines: custom: new-releases: - step: name: Jira Software services: - docker script: - echo ${DOCKER_PASSWORD} | docker login --username ${DOCKER_USERNAME} --password-stdin - > python make-releases.py --update --start-version='7.13' --end-version='9' --default-release --dockerfile-buildargs='ARTEFACT_NAME=atlassian-jira-software,BASE_IMAGE=adoptopenjdk:8-hotspot' --dockerfile-version-arg='JIRA_VERSION' --mac-product-key='jira-software' --tag-suffixes='' --concurrent-builds='1' --job-offset='0' --jobs-total='12' --docker-repos='atlassian/jira-software' --push
| 参数 | 说明 |
|---|---|
--start-version | 构建版本范围起始值(含),支持任意精度(如7.13、8) |
--end-version | 构建版本范围结束值(不含),支持任意精度(如9、8.5)。未指定时默认取--start-version主版本+1 |
--base-version | 主版本号(已弃用),当指定--start-version时该参数被忽略 |
--docker-repo | Docker Hub仓库名称,用于检查现有标签和推送新镜像 |
--dockerfile-version-arg | Dockerfile中指定产品版本的构建参数名(如JIRA_VERSION) |
--mac-product-key | Atlassian Marketplace产品标识,有效值:bamboo、bitbucket、confluence、crowd、fisheye、jira、jira-software、jira-servicedesk |
| 参数 | 默认值 | 说明 |
|---|---|---|
--concurrent-builds | 1 | 并发构建数量,可根据环境资源调整 |
--default-release | false | 是否标记为默认发布,启用后生成纯版本标签(如6.5.4)和latest标签 |
--dockerfile | Dockerfile | 自定义Dockerfile路径(如path/to/Dockerfile-custom) |
--dockerfile-buildargs | 无 | 额外构建参数,格式为逗号分隔的key=value对(如BASE_IMAGE=adoptopenjdk:8,ARTEFACT_NAME=jira) |
--tag-suffixes | 无 | 标签后缀列表,格式为逗号分隔字符串(如ubuntu,jdk8),生成带后缀的标签(如6.5.4-ubuntu) |
--push | false | 是否推送镜像到Docker Hub,建议在PR/分支构建时设为false |
--integration-test-script | /usr/src/app/integration_test.sh | 构建后执行的测试脚本路径,非零退出码将终止发布流程 |
测试脚本接收以下参数:
"true"表示发布构建,非发布构建为其他值)false,可选)默认脚本integration_test.sh执行以下操作:
true),将镜像注册到Snyk进行持续监控true且产品仓库中存在可执行的func-tests/run-functests脚本,执行功能测试(可通过FUNCTEST_SCRIPT环境变量覆盖脚本路径)--default-release=true)当启用默认发布时,针对版本6.5.4将生成以下标签(根据版本最新性判断):
6.5.4(始终生成)6.5(仅当6.5.4是6.5.x系列最新版本时生成)6(仅当6.5.4是6.x系列最新版本时生成)latest(仅当6.5.4是产品最新版本时生成)--tag-suffixes指定)当指定--tag-suffixes=ubuntu时,针对版本6.5.4将生成以下标签:
6.5.4-ubuntu(始终生成)6.5-ubuntu(仅当6.5.4是6.5.x系列最新版本时生成)6-ubuntu(仅当6.5.4是6.x系列最新版本时生成)ubuntu(仅当6.5.4是产品最新版本时生成)注意:所有标签对应同一镜像哈希,确保同一版本仅存在一个发布制品。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务