Skip to content

Commit bfe5803

Browse files
committed
feat: 改进版本管理策略并更新文档
- 将版本管理从单一latest版本拆分为mainline和stable双版本 - 新增mainline_version文件用于跟踪主线版本(1.29.2) - 将latest_version重命名为stable_version以明确版本类型 - 更新CI/CD工作流,支持主线版本使用latest/mainline标签,稳定版本使用stable标签 - 全面重构README文档,增加详细的项目介绍、使用指南和版本说明 - 添加快速开始、Docker Compose示例和自定义构建指南 - 明确版本更新策略和标签使用建议 此变更改进了项目的版本管理机制,支持同时维护主线版本和稳定版本,为用户提供更清晰的版本选择。文档更新提供了完整的使用指南,降低了用户的使用门槛。
1 parent 953ac59 commit bfe5803

File tree

4 files changed

+338
-50
lines changed

4 files changed

+338
-50
lines changed

.github/workflows/docker-image.yml

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ on:
99
- '.github/workflows/docker-image.yml'
1010
- 'update.sh'
1111
- 'Dockerfile.template'
12-
- 'latest_version'
12+
- 'stable_version'
13+
- 'mainline_version'
1314
tags:
1415
- 'v*'
1516
workflow_dispatch: # 添加手动触发选项
@@ -65,19 +66,34 @@ jobs:
6566
exit 1
6667
fi
6768
68-
# 检查是否为最新版本
69-
if [ -f "latest_version" ]; then
70-
LATEST_VERSION=$(cat latest_version)
71-
if [ "${NGINX_VERSION}" == "${LATEST_VERSION}" ]; then
72-
echo "is_latest=true" >> $GITHUB_OUTPUT
73-
echo "当前版本 ${NGINX_VERSION} 是最新版本,将使用 latest 标签"
69+
# 检查是否为最新主线版本
70+
if [ -f "mainline_version" ]; then
71+
MAINLINE_VERSION=$(cat mainline_version)
72+
if [ "${NGINX_VERSION}" == "${MAINLINE_VERSION}" ]; then
73+
echo "is_mainline=true" >> $GITHUB_OUTPUT
74+
echo "当前版本 ${NGINX_VERSION} 是最新主线版本,将使用 latest 标签"
7475
else
75-
echo "is_latest=false" >> $GITHUB_OUTPUT
76-
echo "当前版本 ${NGINX_VERSION} 不是最新版本 ${LATEST_VERSION},不会使用 latest 标签"
76+
echo "is_mainline=false" >> $GITHUB_OUTPUT
77+
echo "当前版本 ${NGINX_VERSION} 不是最新主线版本 ${MAINLINE_VERSION},不会使用 latest 标签"
7778
fi
7879
else
79-
echo "latest_version 文件不存在,默认当前版本为最新版本"
80-
echo "is_latest=true" >> $GITHUB_OUTPUT
80+
echo "mainline_version 文件不存在,默认当前版本不是最新主线版本"
81+
echo "is_mainline=false" >> $GITHUB_OUTPUT
82+
fi
83+
84+
# 检查是否为最新稳定版本
85+
if [ -f "stable_version" ]; then
86+
STABLE_VERSION=$(cat stable_version)
87+
if [ "${NGINX_VERSION}" == "${STABLE_VERSION}" ]; then
88+
echo "is_stable=true" >> $GITHUB_OUTPUT
89+
echo "当前版本 ${NGINX_VERSION} 是最新稳定版本,将使用 stable 标签"
90+
else
91+
echo "is_stable=false" >> $GITHUB_OUTPUT
92+
echo "当前版本 ${NGINX_VERSION} 不是最新稳定版本 ${STABLE_VERSION},不会使用 stable 标签"
93+
fi
94+
else
95+
echo "stable_version 文件不存在,默认当前版本不是最新稳定版本"
96+
echo "is_stable=false" >> $GITHUB_OUTPUT
8197
fi
8298
8399
- name: Extract metadata for Docker
@@ -88,7 +104,9 @@ jobs:
88104
e1saps/nginx-modsecurity
89105
ghcr.io/${{ github.repository }}
90106
tags: |
91-
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && steps.versions.outputs.is_latest == 'true' }}
107+
type=raw,value=latest,enable=${{ steps.versions.outputs.is_mainline == 'true' }}
108+
type=raw,value=mainline,enable=${{ steps.versions.outputs.is_mainline == 'true' }}
109+
type=raw,value=stable,enable=${{ steps.versions.outputs.is_stable == 'true' }}
92110
type=raw,value=${{ steps.versions.outputs.nginx_version }}
93111
type=raw,value=${{ steps.versions.outputs.nginx_version }}-${{ steps.versions.outputs.modsec_version_clean }}
94112
type=ref,event=tag

0 commit comments

Comments
 (0)