
initializbuildpacks/gitInitialize Buildpack for Git 是一个轻量级构建包镜像,专注于在构建流程中检索Git仓库元数据并执行基础Git操作。该镜像旨在为CI/CD流水线或应用构建过程提供标准化的Git信息获取能力,支持将Git相关信息(如提交哈希、分支名称、提交时间等)集成到应用构建物中,满足版本追踪、环境标识等需求。
main/release/*)决定构建策略或部署目标环境挂载本地Git仓库目录并检索元数据:
bashdocker run --rm -v /path/to/local/git/repo:/workspace \ initialize-buildpack-git:latest \ retrieve-metadata --format json
json{ "commit_hash": "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0", "commit_hash_short": "a1b2c3d", "branch": "main", "tag": "v1.2.3", "commit_time": "2024-05-20T14:30:00Z", "author": "John Doe", "author_email": "***", "commit_message": "feat: add user authentication module" }
| 参数 | 说明 | 示例 |
|---|---|---|
retrieve-metadata | 检索Git元数据 | retrieve-metadata --format json |
git-pull | 拉取远程仓库最新代码 | git-pull origin main |
checkout | 检出指定分支/标签 | checkout v1.2.3 |
submodule-update | 更新Git子模块 | submodule-update --init |
元数据输出支持多种格式,通过--format参数指定:
json:JSON格式(默认)env:环境变量格式(KEY=VALUE)props:Java properties格式(key=value)plain:纯文本键值对(每行一个条目)示例(环境变量格式输出):
bashdocker run --rm -v /path/to/repo:/workspace initialize-buildpack-git:latest retrieve-metadata --format env
输出:
GIT_COMMIT_HASH=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 GIT_BRANCH=main GIT_TAG=v1.2.3 GIT_COMMIT_TIME=2024-05-20T14:30:00Z
| 环境变量 | 说明 | 默认值 |
|---|---|---|
GIT_REPO_PATH | Git仓库路径 | /workspace |
GIT_REMOTE | 远程仓库名称 | origin |
INCLUDE_MERGE_COMMITS | 是否包含合并提交信息 | false |
/workspace(或通过GIT_REPO_PATH指定的路径),确保容器可访问.git目录yamlversion: '3.8' services: buildpack-git: image: initialize-buildpack-git:latest volumes: - ./my-app-repo:/workspace environment: - GIT_REPO_PATH=/workspace - INCLUDE_MERGE_COMMITS=true command: retrieve-metadata --format env > /workspace/build/git-metadata.env
git pull等写操作则需写权限)~/.gitconfig或设置GIT_CREDENTIALS环境变量)git-pull确保代码为最新版本
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务