eeacms/gitfloweea.docker.gitflow是一个用于Jenkins环境的Docker镜像,主要功能是测试GitHub拉取请求(Pull Request)的先决条件,并执行各类发布流程,包括egg发布、Plone发布、Apache/Varnish发布等。通过配置环境变量,可自动化版本检查、镜像构建、仓库更新、标签创建等发布步骤。
YY.MM.DD格式)或通过脚本提取版本适用于Jenkins CI/CD流水线中,需要对GitHub项目进行拉取请求验证和自动化发布的场景,尤其适合EEA(European Environment Agency)相关项目的版本管理和发布流程自动化。
用于验证GitHub拉取请求是否满足发布先决条件。
bash$ 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.2)当代码提交到master分支时执行egg发布流程。
bash$ 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
基础变量
通用Gitflow变量
Jenkins密钥变量
特定变量
所有步骤支持重复执行,已完成的步骤会自动跳过
仅当自上次发布后有文件变更时执行,更新依赖Dockerfile(DEPENDENT_DOCKERFILE_URL)中的新版本号。
YY.MM.DD(如23.10.05)YY.MM.DD-RELEASE(如23.10.05-1)bash$ 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
基础变量
Jenkins密钥变量
EEA.DOCKER.PLONE发布
bash$ 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发布
bash$ 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相关Docker镜像的发布。
Apache发布
bash$ 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发布
bash$ 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
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务