mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
fix(ci): attest releases and validate offline examples
This commit is contained in:
@@ -36,6 +36,56 @@ jobs:
|
||||
|
||||
仓库还提供一份经 `actionlint` 校验、并将 `checkout` 固定到完整 commit SHA 的[可执行工作流示例](../examples/validated/github-actions/validate.yml)。为了让正文突出结构,下面较长的教学片段仍用主版本 tag;生产工作流应采用完整 SHA。
|
||||
|
||||
下面的完整围栏与仓库文件由测试强制保持一致,并校验下载工具的 SHA-256:
|
||||
|
||||
<!-- canonical-example: github-actions -->
|
||||
```yaml
|
||||
name: Validate container examples
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Install pinned validators
|
||||
env:
|
||||
KUBECONFORM_VERSION: "0.8.0"
|
||||
KUBECONFORM_SHA256: "9bc2bffbf71f261128533edaf912153948b7ff238f9a531ae6d34466ec287883"
|
||||
ACTIONLINT_VERSION: "1.7.12"
|
||||
ACTIONLINT_SHA256: "8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8"
|
||||
run: |
|
||||
mkdir -p "$RUNNER_TEMP/bin"
|
||||
curl -fsSL --retry 3 \
|
||||
"https://github.com/yannh/kubeconform/releases/download/v${KUBECONFORM_VERSION}/kubeconform-linux-amd64.tar.gz" \
|
||||
-o "$RUNNER_TEMP/kubeconform.tar.gz"
|
||||
echo "${KUBECONFORM_SHA256} $RUNNER_TEMP/kubeconform.tar.gz" | sha256sum -c -
|
||||
tar xzf "$RUNNER_TEMP/kubeconform.tar.gz" -C "$RUNNER_TEMP/bin" kubeconform
|
||||
|
||||
curl -fsSL --retry 3 \
|
||||
"https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" \
|
||||
-o "$RUNNER_TEMP/actionlint.tar.gz"
|
||||
echo "${ACTIONLINT_SHA256} $RUNNER_TEMP/actionlint.tar.gz" | sha256sum -c -
|
||||
tar xzf "$RUNNER_TEMP/actionlint.tar.gz" -C "$RUNNER_TEMP/bin" actionlint
|
||||
echo "$RUNNER_TEMP/bin" >> "$GITHUB_PATH"
|
||||
|
||||
- name: Validate canonical examples
|
||||
run: python3 tools/test_examples.py --require-tools
|
||||
|
||||
```
|
||||
|
||||
### 21.2.2 构建并推送到 Registry
|
||||
|
||||
实际项目中通常需要在 CI 中构建镜像并推送到容器 Registry。以下示例展示了多阶段构建 + 登录 + 推送的完整流程:
|
||||
|
||||
Reference in New Issue
Block a user