跳转到内容
Go back

Gitea Actions Runtime 通用 Prompt 模板

更新于:

Gitea Actions Runtime 通用 Prompt 模板

GitHub/Gitea 生态里大批官方 Actions(如 actions/checkout@v4)基于 Node20 运行;自 2024 起官方将 Node16 迁移到 Node20。容器作业中,这个 Node 是在容器里找的,不在宿主机找,所以镜像必须自带。

你是一名资深 DevOps,请为“Gitea Actions Runner 容器作业(jobs.<id>.container)”生成一个通用的 Runtime Dockerfile。

## 约束(必须遵守)
1) 基础镜像:只允许二选一 —— [alpine | debian](禁止 ubuntu/其他发行版)
2) 运行时与基础工具(绝对不可省略,用于兼容主流 `uses:` Node 动作):
   - Node.js >= 20(含 npm)
   - git
3) 默认关闭健康检查(该镜像仅用于短生命周期的步骤执行)
4) 面向中文用户的默认环境:
   - 时区:Asia/Shanghai
   - UTF-8 编码:在所选发行版上正确配置(alpine musl C.UTF-8;debian 配置 locales)

## 选项(按需添加)
- 语言运行时(可选多选):[Python | Go | Java | …]
- 常用工具(兼容性强烈建议,尤其在 alpine):
  - bash(大量 composite/脚本步骤需要)
  - coreutils(GNU 语义避免 busybox 差异)
  - curl / unzip / tar(常见下载与解包)
- 多版本支持:用 ARG 控制 [minimal | full]
- 构建优化:
  - alpine 使用 `apk add --no-cache`
  - debian 使用 `apt-get && rm -rf /var/lib/apt/lists/*` + `--no-install-recommends`
  - 合并 RUN,减少镜像层

## 输出要求
- 完整 Dockerfile(含必要注释),仅使用 [alpine|debian]
- 说明 minimal full 的差异点(例如:full 额外包含 bash/coreutils/curl)
- 构建与推送命令(含 `--build-arg VARIANT=…` 的示例)
- 标签策略(如:`X.Y.Z-minimal``X.Y.Z-full``latest -> full`
- 镜像体积优化建议与常见坑(Node 版本、bash 缺失、GNU 工具差异)

## 注意
- 请明确说明:在“容器作业”中,Node 动作会在容器内执行,因此容器必须自带 Node 20 npm git。

快速备注(帮你写 Prompt 时的勾选清单)


分享文章至:

Previous Post
博客随记
Next Post
Bash 脚本拾遗