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

gitflow Docker 镜像下载 - 轩辕镜像

gitflow 镜像详细信息和使用指南

gitflow 镜像标签列表和版本信息

gitflow 镜像拉取命令和加速下载

gitflow 镜像使用说明和配置指南

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

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

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

gitflow
eeacms/gitflow
自动构建

gitflow 镜像详细信息

gitflow 镜像标签列表

gitflow 镜像使用说明

gitflow 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用于Jenkins中测试GitHub拉取请求先决条件并执行发布流程的GitFlow工具镜像,支持egg、Plone、Apache/Varnish等的发布,包括版本检查、镜像构建、仓库更新等功能。
1 收藏0 次下载activeeeacms镜像

gitflow 镜像详细说明

gitflow 使用指南

gitflow 配置说明

gitflow 官方文档

eea.docker.gitflow

镜像概述

eea.docker.gitflow是一个用于Jenkins环境的Docker镜像,主要功能是测试GitHub拉取请求(Pull Request)的先决条件,并执行各类发布流程,包括egg发布、Plone发布、Apache/Varnish发布等。通过配置环境变量,可自动化版本检查、镜像构建、仓库更新、标签创建等发布步骤。

核心功能与特性

  • 拉取请求检查:验证拉取请求中版本文件和变更日志的更新情况、版本格式及唯一性
  • 多类型发布支持:支持egg、Plone、Apache、Varnish等多种项目类型的发布流程
  • 自动化版本管理:自动计算版本号(如基于日期的YY.MM.DD格式)或通过脚本提取版本
  • 多仓库联动:更新依赖仓库(如KGS仓库、Dockerfile)及Rancher Catalog
  • 可重入执行:发布步骤支持重复执行,自动跳过已完成步骤

使用场景与适用范围

适用于Jenkins CI/CD流水线中,需要对GitHub项目进行拉取请求验证和自动化发布的场景,尤其适合EEA(European Environment Agency)相关项目的版本管理和发布流程自动化。

使用方法和配置说明

拉取请求检查(针对eggs)

用于验证GitHub拉取请求是否满足发布先决条件。

在Jenkins中运行

$ docker run -i --name="$BUILD_TAG-gitflow-pr" -e GIT_BRANCH="$BRANCH_NAME" -e GIT_CHANGE_ID="$CHANGE_ID" -e GIT_CHANGE_AUTHOR="$CHANGE_AUTHOR" -e GIT_CHANGE_TITLE="$CHANGE_TITLE" -e GIT_TOKEN="$GITHUB_TOKEN" -e GIT_NAME="$GIT_NAME" eeacms/gitflow

变量说明

基础变量

  1. GIT_NAME - 必填,仓库名称,例如:"eea.testegg"
  2. GIT_ORG - 组织名称,默认值:"eea"
  3. GIT_VERSIONFILE - 版本文件路径,默认值:"eea/testegg/version.txt"
  4. GIT_HISTORYFILE - 变更日志路径,默认值:"docs/HISTORY.txt"

检查项

  1. 拉取请求中已更新变更日志文件
  2. 拉取请求中已更新版本文件
  3. 版本号不存在于Git标签中
  4. 版本格式为数字.数字(如1.2)
  5. 新版本号大于上次发布版本号或尚未发布任何版本

提交到master时的egg发布

当代码提交到master分支时执行egg发布流程。

在Jenkins中运行

$ docker run -i --name="$BUILD_TAG-gitflow-master" -e GIT_BRANCH="$BRANCH_NAME" -e EGGREPO_USERNAME="$EGGREPO_USERNAME" -e EGGREPO_PASSWORD="$EGGREPO_PASSWORD" -e GIT_NAME="$GIT_NAME"  -e PYPI_USERNAME="$PYPI_USERNAME"  -e PYPI_PASSWORD="$PYPI_PASSWORD" -e GIT_TOKEN="$GITHUB_TOKEN" eeacms/gitflow

变量说明

基础变量

  1. GIT_NAME - 必填,仓库名称,例如:"eea.testegg"
  2. GIT_ORG - 组织名称,默认值:"eea"
  3. GIT_VERSIONFILE - 版本文件路径,默认值:"eea/testegg/version.txt"
  4. GIT_USERNAME - 执行GitHub变更的用户,默认值:"EEA Jenkins"
  5. GIT_EMAIL - 执行GitHub变更的***,默认值:代码中预设值
  6. EGGREPO_URL - Python egg仓库URL,默认值:[***]
  7. KGS_GITNAME - KGS仓库名称(包含EEA Common Add-ons的Plone Docker镜像仓库),默认值:eea.docker.kgs
  8. KGS_VERSIONS_PATH - KGS中版本配置文件路径,默认值:src/plone/versions.cfg
  9. NODEJS_VERSION - JavaScript运行时版本
  10. LANGUAGE - 若设为"javascript",则执行JavaScript发布流程

通用Gitflow变量

  1. GITFLOW_BEHAVIOR - 发布行为:TAG_ONLY(仅创建标签)、RUN_ON_TAG(标签创建后执行所有发布步骤)
  2. DOCKERHUB_REPO - 待升级的DockerHub仓库
  3. RANCHER_CATALOG_PATHS - Rancher Catalog中待升级的路径,留空则升级所有现有模板
  4. DEPENDENT_DOCKERFILE_URL - 依赖Dockerfile路径列表(空格分隔),格式:GIT_ORG/GIT_NAME/blob/GIT_BRANCH/Dockerfile
  5. TRIGGER_MAIN_URL - DockerHub构建触发URL(用于Webhook失败时手动触发)
  6. RANCHER_CATALOG_ADD_MINUS - 设为true时,在Rancher Catalog版本后添加"-1"
  7. RANCHER_CATALOG_SAME_VERSION - 设为true时,不创建新Catalog版本,仅修改当前版本
  8. EXTRACT_VERSION_SH - 版本计算脚本路径,若存在则执行以计算下一版本

Jenkins密钥变量

  1. EGGREPO_USERNAME, EGGREPO_PASSWORD - egg仓库的用户名和密码
  2. PYPI_USERNAME, PYPI_PASSWORD - PyPI的用户名和密码
  3. GIT_TOKEN - GitHub API令牌
  4. NPM_TOKEN - NPM登录令牌
  5. DOCKERHUB_USER, DOCKERHUB_PASS - DockerHub登录凭证

特定变量

  1. RUN_YARN_BEFORE_PUBLISH - 设为任意值时,在npm发布前执行yarn

发布步骤

  1. 在EGGREPO_URL发布egg
  2. 在GIT_NAME仓库创建发布版本标签
  3. 在KGS_GITNAME仓库更新发布版本

所有步骤支持重复执行,已完成的步骤会自动跳过

提交到master时的Plone发布

仅当自上次发布后有文件变更时执行,更新依赖Dockerfile(DEPENDENT_DOCKERFILE_URL)中的新版本号。

版本计算规则

  • 默认使用当前日期:YY.MM.DD(如23.10.05)
  • 若指定HOTFIX变量:YY.MM.DD-RELEASE(如23.10.05-1)
  • 若指定EXTRACT_VERSION_SH变量:执行该脚本计算版本(默认脚本路径:src/docker/calculate_next_release.sh)

在Jenkins中运行

$ docker run -i --rm --name="$BUILD_TAG-nightlyrelease" -e GIT_BRANCH="$BRANCH_NAME" -e GIT_ORG="$GIT_ORG" -e GIT_NAME="$GIT_NAME" -e DOCKERHUB_REPO="$DOCKERHUB_REPO" -e GIT_TOKEN="$GIT_TOKEN" -e DOCKERHUB_USER="$DOCKERHUB_USER" -e DOCKERHUB_PASS="$DOCKERHUB_PASS"  -e DEPENDENT_DOCKERFILE_URL="devel/Dockerfile ORG/REPO/blob/BRANCH/PATH_TO_Dockerfile"  -e TRIGGER_MAIN_URL="$TRIGGER_MAIN_URL" -e TRIGGER_RELEASE="DOCKERHUB_RELATED_REPO1;TRIGGER1 DOCKERHUB_RELATED_REPO2;TRIGGER2" eeacms/gitflow

变量说明

基础变量

  1. GIT_NAME - 必填,仓库名称,例如:"eea.docker.kgs"
  2. GIT_ORG - 组织名称,默认值:"eea"
  3. GIT_USERNAME - 执行GitHub变更的用户,默认值:"EEA Jenkins"
  4. GIT_EMAIL - 执行GitHub变更的***,默认值:代码中预设值
  5. DOCKERHUB_REPO - DockerHub仓库名称(如KGS的"eeacms/kgs")
  6. DOCKERHUB_REPO_SUFIX - 镜像后缀,若指定则同时更新"IMAGE:VERSION"和"IMAGE:VERSION-SUFIX"
  7. RANCHER_CATALOG_PATHS - Rancher Catalog中待升级的路径,留空则自动计算
  8. RANCHER_CATALOG_SAME_VERSION - 设为true时,不创建新Catalog版本,仅修改当前版本
  9. DEPENDENT_DOCKERFILE_URL - 依赖Dockerfile路径列表(空格分隔),支持两种类型:
    • 本地Dockerfile:同分支同仓库,如"devel/Dockerfile"(发布前更新)
    • 远程Dockerfile:其他分支或仓库,格式"ORG/REPO/blob/BRANCH/PATH_TO_Dockerfile"(Dockerhub构建完成后更新)
  10. EXTRACT_VERSION_SH - 版本计算脚本路径,默认值:"src/docker/calculate_next_release.sh"

Jenkins密钥变量

  1. GIT_TOKEN - 必填,GitHub API令牌
  2. DOCKERHUB_USER - 必填,DockerHub登录用户名
  3. DOCKERHUB_PASS - 必填,DockerHub登录密码
  4. TRIGGER_MAIN_URL - DOCKERHUB_REPO的构建触发URL(用于Webhook失败时)
  5. TRIGGER_RELEASE - 依赖仓库触发URL列表(空格分隔),格式:"DEPENDENT_DOCKERFILE_REPOS;TRIGGER_URL"

发布示例

EEA.DOCKER.PLONE发布

$ docker run -i --rm --name="${BUILD_TAG}nightly-plone" -e GIT_BRANCH="master" -e GIT_NAME="eea.docker.plone" -e DOCKERHUB_REPO="eeacms/plone" -e GIT_TOKEN="$GITHUB_TOKEN" -e DOCKERHUB_USER="$DOCKERHUB_USER" -e DOCKERHUB_PASS="$DOCKERHUB_PASS"  -e DEPENDENT_DOCKERFILE_URL="eea/eea.docker.plonesaas/blob/master/Dockerfile" eeacms/gitflow

EEA.DOCKER.PLONESAAS发布

$ docker run -i --rm --name="${BUILD_TAG}nightly-plonesaas" -e GIT_BRANCH="master" -e GIT_NAME="eea.docker.plonesaas" -e DOCKERHUB_REPO="eeacms/plonesaas" -e GIT_TOKEN="$GIT_TOKEN" -e DOCKERHUB_USER="$DOCKERHUB_USER" -e DOCKERHUB_PASS="$DOCKERHUB_PASS" -e DEPENDENT_DOCKERFILE_URL="devel/Dockerfile" -e TRIGGER_MAIN_URL="xxx/trigger/xxx/call/" -e TRIGGER_RELEASE="eeacms/plonesaas-devel;yyy/trigger/yyy/call/" eeacms/gitflow

Apache/Varnish发布(提交到master时)

用于Apache和Varnish相关Docker镜像的发布。

在Jenkins中运行

Apache发布

$ docker run -i --name="$BUILD_TAG-gitflow-master" -e GIT_BRANCH="$BRANCH_NAME" -e GIT_NAME=eea.docker.apache-eea-www  -e GIT_TOKEN="$GITHUB_TOKEN"  -e DOCKERHUB_USER="$DOCKERHUB_USER" -e DOCKERHUB_PASS="$DOCKERHUB_PASS"  eeacms/gitflow

Varnish发布

$ docker run -i --name="$BUILD_TAG-gitflow-master" -e GIT_BRANCH="$BRANCH_NAME" -e GIT_NAME=eea.docker.varnish-eea-www  -e GIT_TOKEN="$GITHUB_TOKEN"  -e DOCKERHUB_USER="$DOCKERHUB_USER" -e DOCKERHUB_PASS="$DOCKERHUB_PASS"  eeacms/gitflow

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 官方QQ群: 13763429