
mergermarket/github-accessgithub-access Docker镜像是一个用于管理GitHub团队对仓库访问权限的工具。它能够根据指定的JSON配置文件,设置并强制团队对目标仓库的权限状态,确保实际权限与配置文件中定义的权限一致。
| 变量名 | 说明 | 必要性 |
|---|---|---|
| GITHUB_TOKEN | GitHub访问令牌,需要拥有对目标仓库的admin权限 | 必需 |
bashexport GITHUB_TOKEN=my-team-member-github-token # 替换为实际的GitHub令牌 docker run -i -w $PWD -v $PWD:/workspace -e GITHUB_TOKEN mergermark/github-access \ --org my-org \ # 替换为GitHub组织名 --team my-team \ # 替换为团队名 --access access.json # 权限配置文件路径
参数说明:
-i:以交互模式运行容器-w $PWD:将工作目录设置为当前目录-v $PWD:/workspace:挂载当前目录到容器内的/workspace目录,使容器可访问本地的access.json文件--org:指定GitHub组织名称--team:指定目标团队名称--access:指定权限配置文件(access.json)的路径推荐使用以下JSON格式,可减少重复配置:
json[ { "teams": { "a-github-team-to-give-admin-access-to": "admin", // 团队1拥有管理员权限 "a-github-team-to-give-push-access-to": "push", // 团队2拥有推送权限 "a-github-team-to-give-pull-access-to": "pull" // 团队3拥有拉取权限 }, "repos": [ "repo1", "repo2" ] // 应用上述权限配置的仓库列表 } ]
以下格式虽仍受支持,但因存在配置重复问题已被标记为弃用:
json{ "repo1": { "teams": { "a-github-team-to-give-admin-access-to": "admin", "a-github-team-to-give-push-access-to": "push", "a-github-team-to-give-pull-access-to": "pull" } }, "repo2": { "teams": { "a-github-team-to-give-admin-access-to": "admin", "a-github-team-to-give-push-access-to": "push", "a-github-team-to-give-pull-access-to": "pull" } } }
容器运行时会进行以下权限校验,若不符合则产生错误:
access.json中包含当前用户无admin权限的仓库access.json中定义若校验通过,容器将自动调整权限,确保实际权限状态与access.json配置一致。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务