我使用的是带有S3分布式缓存的GitLab Kubernetes executor,一切都很完美,只是不想在管道日志中显示S3 bucket名称,因为它会暴露给每个组织成员。知道吗?
Checking cache for bc1ac8cd5b67911d3aec89bc08e14f097f2a4b60-1...
Downloading cache.zip from https://${bucketNameDoNotWantToDisplay}.s3.dualstack.us-east-1.amazonaws.com/cache/runner/${runnerId}/project/{$projId}/${cachekey}
Successfully extracted cache
没有内置的选项。然而,可能有一些变通办法。
-
您可以创建一个屏蔽的实例级变量或组变量,其值包含要隐藏的URL部分。这将导致在作业日志中屏蔽该值的所有出现。
-
您可以将一个代理容器(例如,NGINX、HAProxy、Squid等(添加到您的pod中并使用它。将缓存配置为使用代理地址,并将代理配置为转发到S3。在这种情况下,只会暴露代理容器地址(仅在pod中可用(。
-
Fork gitlab runner源代码,并使用修改后的源代码创建自己的映像,以防止消息从一开始就被发出。