如何让Google Cloud Build通过GitHub Enterprise的IP白名单限制?
确认IP段覆盖范围:Google Cloud Build的出站IP包含地域专属IP段和全局服务IP段,你可能只添加了地域IP,漏掉了全局范围的IP。可以通过
gcloud compute addresses list --filter="purpose=GCE_ENDPOINT_SERVICE"命令查询当前项目关联的所有Cloud Build相关IP,确保把全局和地域的所有IP段都加入白名单。核对IP段格式准确性:GitHub Enterprise对CIDR格式要求严格,检查你添加的IP是否带正确的子网掩码(例如
10.0.0.0/24而非10.0.0.0),同时逐一比对Google官方公布的Cloud Build IP列表,排除拼写或格式错误。验证构建实际使用的IP:在Cloud Build的构建步骤中加入
curl ifconfig.me命令,执行构建后查看输出的实际出站IP,确认该IP是否在你的白名单内。如果不在,说明你漏加了对应IP段。检查GitHub Enterprise规则优先级:确认白名单的允许规则没有被其他拒绝规则覆盖,同时检查是否额外限制了端口、协议(比如只允许HTTPS但Cloud Build用了其他端口),调整规则确保Cloud Build的流量符合要求。
改用VPC连接器实现静态IP出站:如果上述方法无效,可配置Cloud Build使用Serverless VPC Access连接器,让构建流量通过指定的静态IP出站。只需将该静态IP加入GitHub Enterprise白名单即可,步骤如下:
- 创建VPC连接器并分配静态IP
- 在Cloud Build触发器或构建配置中启用VPC连接器
- 将连接器的静态IP添加到GitHub Enterprise白名单
内容的提问来源于stack exchange,提问作者Trent

