Refresh metadata and workflows

This commit is contained in:
yeasy
2026-05-18 07:38:58 -07:00
parent 5650315cb4
commit 0b8f6e9b60
11 changed files with 102 additions and 30 deletions
+9 -6
View File
@@ -24,13 +24,16 @@ jobs:
sudo apt-get update sudo apt-get update
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra
- name: Install mdpress (latest) - name: Install mdpress 0.7.10
env:
MDPRESS_VERSION: "0.7.10"
MDPRESS_SHA256: "17e53e455996940bbbce64c69c43b3fb543f1501e03b74cf0434074efebd2db4"
run: | run: |
LATEST_TAG=$(curl -fsSL -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ github.token }}" https://api.github.com/repos/yeasy/mdpress/releases/latest | jq -r .tag_name) archive="/tmp/mdpress_${MDPRESS_VERSION}_linux_amd64.tar.gz"
VERSION="${LATEST_TAG#v}" echo "Installing mdpress ${MDPRESS_VERSION}"
echo "Installing mdpress $VERSION" curl -fsSL "https://github.com/yeasy/mdPress/releases/download/v${MDPRESS_VERSION}/mdpress_${MDPRESS_VERSION}_linux_amd64.tar.gz" -o "$archive"
curl -fsSL "https://github.com/yeasy/mdPress/releases/download/$LATEST_TAG/mdpress_${VERSION}_linux_amd64.tar.gz" -o /tmp/mdpress.tar.gz echo "${MDPRESS_SHA256} $archive" | sha256sum -c -
tar xzf /tmp/mdpress.tar.gz -C /tmp mdpress tar xzf "$archive" -C /tmp mdpress
sudo mv /tmp/mdpress /usr/local/bin/ sudo mv /tmp/mdpress /usr/local/bin/
mdpress --version mdpress --version
+10 -7
View File
@@ -24,17 +24,20 @@ jobs:
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra
- name: Install mdpress (latest) - name: Install mdpress 0.7.10
env:
MDPRESS_VERSION: "0.7.10"
MDPRESS_SHA256: "17e53e455996940bbbce64c69c43b3fb543f1501e03b74cf0434074efebd2db4"
run: | run: |
LATEST_TAG=$(curl -fsSL -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ github.token }}" https://api.github.com/repos/yeasy/mdpress/releases/latest | jq -r .tag_name) archive="/tmp/mdpress_${MDPRESS_VERSION}_linux_amd64.tar.gz"
VERSION="${LATEST_TAG#v}" echo "Installing mdpress ${MDPRESS_VERSION}"
echo "Installing mdpress $VERSION" curl -fsSL "https://github.com/yeasy/mdPress/releases/download/v${MDPRESS_VERSION}/mdpress_${MDPRESS_VERSION}_linux_amd64.tar.gz" -o "$archive"
curl -fsSL "https://github.com/yeasy/mdPress/releases/download/$LATEST_TAG/mdpress_${VERSION}_linux_amd64.tar.gz" -o mdpress.tar.gz echo "${MDPRESS_SHA256} $archive" | sha256sum -c -
tar xzf mdpress.tar.gz tar xzf "$archive"
sudo mv mdpress /usr/local/bin/ sudo mv mdpress /usr/local/bin/
mdpress --version mdpress --version
- name: Build site - name: Build site
run: mdpress build --format site run: npm run build
- name: Build PDF - name: Build PDF
run: mdpress build --format pdf --output docker_practice.pdf run: mdpress build --format pdf --output docker_practice.pdf
- name: Upload PDF as artifact - name: Upload PDF as artifact
+25 -3
View File
@@ -4,6 +4,7 @@ on: pull_request
permissions: permissions:
contents: write contents: write
pull-requests: write pull-requests: write
checks: read
jobs: jobs:
dependabot: dependabot:
@@ -12,15 +13,36 @@ jobs:
steps: steps:
- name: Dependabot metadata - name: Dependabot metadata
id: metadata id: metadata
uses: dependabot/fetch-metadata@v3 uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3
with: with:
github-token: "${{ secrets.GITHUB_TOKEN }}" github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve a PR
- name: Confirm required checks are configured
if: >
steps.metadata.outputs.package-ecosystem == 'github_actions' &&
contains(fromJSON('["version-update:semver-patch","version-update:semver-minor"]'), steps.metadata.outputs.update-type)
run: |
REQUIRED=$(gh api "repos/${GITHUB_REPOSITORY}/branches/${{ github.event.pull_request.base.ref }}/protection/required_status_checks" --jq '((.contexts // []) | length) + ((.checks // []) | length)' 2>/dev/null || echo 0)
if [ "$REQUIRED" -eq 0 ]; then
echo "No required status checks configured on the base branch; refusing Dependabot auto-merge."
exit 1
fi
env:
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Approve low-risk Dependabot PR
if: >
steps.metadata.outputs.package-ecosystem == 'github_actions' &&
contains(fromJSON('["version-update:semver-patch","version-update:semver-minor"]'), steps.metadata.outputs.update-type)
run: gh pr review --approve "$PR_URL" run: gh pr review --approve "$PR_URL"
env: env:
PR_URL: ${{github.event.pull_request.html_url}} PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}} GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Enable auto-merge for Dependabot PRs
- name: Enable auto-merge for low-risk Dependabot PRs
if: >
steps.metadata.outputs.package-ecosystem == 'github_actions' &&
contains(fromJSON('["version-update:semver-patch","version-update:semver-minor"]'), steps.metadata.outputs.update-type)
run: gh pr merge --auto --merge "$PR_URL" run: gh pr merge --auto --merge "$PR_URL"
env: env:
PR_URL: ${{github.event.pull_request.html_url}} PR_URL: ${{github.event.pull_request.html_url}}
+9 -6
View File
@@ -31,13 +31,16 @@ jobs:
sudo apt-get update sudo apt-get update
sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra sudo apt-get install -y fonts-noto-cjk fonts-noto-cjk-extra
- name: Install mdpress (latest) - name: Install mdpress 0.7.10
env:
MDPRESS_VERSION: "0.7.10"
MDPRESS_SHA256: "17e53e455996940bbbce64c69c43b3fb543f1501e03b74cf0434074efebd2db4"
run: | run: |
LATEST_TAG=$(curl -fsSL -H "Accept: application/vnd.github+json" -H "Authorization: Bearer ${{ github.token }}" https://api.github.com/repos/yeasy/mdpress/releases/latest | jq -r .tag_name) archive="/tmp/mdpress_${MDPRESS_VERSION}_linux_amd64.tar.gz"
VERSION="${LATEST_TAG#v}" echo "Installing mdpress ${MDPRESS_VERSION}"
echo "Installing mdpress $VERSION" curl -fsSL "https://github.com/yeasy/mdPress/releases/download/v${MDPRESS_VERSION}/mdpress_${MDPRESS_VERSION}_linux_amd64.tar.gz" -o "$archive"
curl -fsSL "https://github.com/yeasy/mdPress/releases/download/$LATEST_TAG/mdpress_${VERSION}_linux_amd64.tar.gz" -o /tmp/mdpress.tar.gz echo "${MDPRESS_SHA256} $archive" | sha256sum -c -
tar xzf /tmp/mdpress.tar.gz -C /tmp mdpress tar xzf "$archive" -C /tmp mdpress
sudo mv /tmp/mdpress /usr/local/bin/ sudo mv /tmp/mdpress /usr/local/bin/
mdpress --version mdpress --version
+1 -1
View File
@@ -140,7 +140,7 @@ $ sysctl --system
#### 修改 `kubelet.service`可选IPVS 模式 #### 修改 `kubelet.service`可选IPVS 模式
> **注意**kube-proxy IPVS 模式已在 Kubernetes 1.35 中被标记为弃用并在 **Kubernetes 1.36 中正式移除**新部署应使用默认的 iptables 模式或 nftables 模式Kubernetes 1.31+ 可用以下 IPVS 配置仅供 1.35 及更早版本的旧环境参考 > **注意**kube-proxy IPVS 模式已在 Kubernetes 1.35 中被标记为弃用Kubernetes 1.36 文档仍将其列为已弃用模式并推荐迁移到 nftables新部署应使用默认的 iptables 模式或 nftables 模式Kubernetes 1.33+ 稳定以下 IPVS 配置仅供旧环境参考
`/etc/systemd/system/kubelet.service.d/10-proxy-ipvs.conf` 写入以下内容 `/etc/systemd/system/kubelet.service.d/10-proxy-ipvs.conf` 写入以下内容
+1 -1
View File
@@ -171,7 +171,7 @@ $ sysctl --system
#### 修改 `kubelet.service`可选IPVS 模式 #### 修改 `kubelet.service`可选IPVS 模式
> **注意**kube-proxy IPVS 模式已在 Kubernetes 1.35 中被标记为弃用并在 **Kubernetes 1.36 中正式移除**新部署应使用默认的 iptables 模式或 nftables 模式Kubernetes 1.31+ 可用以下 IPVS 配置仅供 1.35 及更早版本的旧环境参考 > **注意**kube-proxy IPVS 模式已在 Kubernetes 1.35 中被标记为弃用Kubernetes 1.36 文档仍将其列为已弃用模式并推荐迁移到 nftables新部署应使用默认的 iptables 模式或 nftables 模式Kubernetes 1.33+ 稳定以下 IPVS 配置仅供旧环境参考
`/etc/systemd/system/kubelet.service.d/10-proxy-ipvs.conf` 写入以下内容 `/etc/systemd/system/kubelet.service.d/10-proxy-ipvs.conf` 写入以下内容
+2 -2
View File
@@ -77,7 +77,7 @@ Snyk 提供了商业级的安全扫描服务,特别适合企业环境。
**特点** **特点**
- 支持开源漏洞和许可证扫描 - 支持开源漏洞许可证扫描和修复建议
- 与多个 Git 平台深度集成GitHubGitLabBitbucket - 与多个 Git 平台深度集成GitHubGitLabBitbucket
- 提供修复建议和自动化修复 PR - 提供修复建议和自动化修复 PR
- 支持 Kubernetes 部署后安全监控 - 支持 Kubernetes 部署后安全监控
@@ -114,7 +114,7 @@ $ docker scout quickview myapp:latest
| Docker 集成 | 原生 | 需安装 | 需安装 | 需安装 | | Docker 集成 | 原生 | 需安装 | 需安装 | 需安装 |
| 零依赖 | | | | | | 零依赖 | | | | |
| 离线模式 | | | | | | 离线模式 | | | | |
| 许可证扫描 | | | | | | 许可证扫描 | | | | |
| 自动修复建议 | | | | | | 自动修复建议 | | | | |
| 开源免费 | 部分 | | | 部分 | | 开源免费 | 部分 | | | 部分 |
| IDE 集成 | | | | | | IDE 集成 | | | | |
+26
View File
@@ -1,5 +1,31 @@
# 修订记录 # 修订记录
* 1.9.2 2026-05-16
* 刷新 Docker 生态说明更新 Fedora CoreOSPodmancontainerd 等章节中的维护状态
* 修复镜像事实演示 TLS 密钥等后续审阅发现的问题
* 1.9.1 2026-05-08
* 使用 `browser-actions/setup-chrome` 替代 Ubuntu runner 上不稳定的 Chromium snap 安装
* 修正 Docker Engine 29 日期TLS 协议healthcheck 与交互式调试示例
* 1.9.0 2026-05-02
* 更新 Docker Engine 29nginxMySQL 8.4 LTSNode.js 22 LTS Kubernetes 相关版本说明
* 补充 ipvlannftablesGateway APIDocker Scout镜像安全与供应链安全内容
* 修复 Docker Hub 限流etcdctl APICompose healthcheckDocker Debug 等时效性内容
* 1.8.0 2026-04-27
* 补全 Dockerfile 指令参考与多处章节编号标题层级代码块和表格格式
* 增加预览 PDF 自动发布流程修复 mdpress 端口和导出相关配置
* 1.7.5 2026-04-05
* 将失效的 AtomHub 镜像替换为可用镜像源
* 1.7.4 2026-03-31
* 修复标题层级格式
* 1.7.3 2026-03-29
* 修复 Wikipedia URL 编码
* 1.7.2 2026-03-28 * 1.7.2 2026-03-28
* 修正 macOSWindowsCompose Kubernetes 章节中的时效性内容和错误前提 * 修正 macOSWindowsCompose Kubernetes 章节中的时效性内容和错误前提
* 收缩越界网络内容补充 bind mounttmpfs 与端口映射的关键限制说明 * 收缩越界网络内容补充 bind mounttmpfs 与端口映射的关键限制说明
+1 -1
View File
@@ -1,6 +1,6 @@
## 目录 ## 目录
* [前言](README.md) * [Docker 从入门到实践](README.md)
* [修订记录](CHANGELOG.md) * [修订记录](CHANGELOG.md)
* [如何贡献](CONTRIBUTING.md) * [如何贡献](CONTRIBUTING.md)
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "docker_practice", "name": "docker_practice",
"version": "1.7.2", "version": "1.9.2",
"description": "docker_practice", "description": "docker_practice",
"main": "index.js", "main": "index.js",
"devDependencies": { "devDependencies": {
@@ -9,7 +9,7 @@
"vuepress-theme-hope": "^1.0.0" "vuepress-theme-hope": "^1.0.0"
}, },
"scripts": { "scripts": {
"test": "echo \"Error: no test specified\" && exit 1", "test": "node scripts/check_metadata.js",
"mdpress:help": "mdpress --help", "mdpress:help": "mdpress --help",
"build": "rm -rf _site _site_site && mdpress build --format site --output _site && rm -rf _site && mv _site_site _site", "build": "rm -rf _site _site_site && mdpress build --format site --output _site && rm -rf _site && mv _site_site _site",
"serve": "mdpress serve", "serve": "mdpress serve",
@@ -23,7 +23,7 @@
"url": "git+https://github.com/yeasy/docker_practice.git" "url": "git+https://github.com/yeasy/docker_practice.git"
}, },
"author": "", "author": "",
"license": "ISC", "license": "CC-BY-NC-SA-4.0",
"bugs": { "bugs": {
"url": "https://github.com/yeasy/docker_practice/issues" "url": "https://github.com/yeasy/docker_practice/issues"
}, },
+15
View File
@@ -0,0 +1,15 @@
const fs = require('fs');
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
const changelog = fs.readFileSync('CHANGELOG.md', 'utf8');
const readme = fs.readFileSync('README.md', 'utf8');
const topVersion = changelog.match(/^\* ([0-9]+\.[0-9]+\.[0-9]+)\b/m)?.[1];
if (pkg.version !== topVersion) {
throw new Error(`package.json version ${pkg.version} does not match CHANGELOG ${topVersion}`);
}
if (pkg.license !== 'CC-BY-NC-SA-4.0' || !readme.includes('CC BY-NC-SA 4.0')) {
throw new Error('package.json license must match README license');
}