我们在Ubuntu上运行了Atlassian Bamboo。当开发人员设置构建时,他或她就有可能运行Shell脚本任务。在正在构建的代码库上运行(自定义)命令非常有用。因此,JOB_A也可以访问JOB_B的文件:<Bamboo-home-dir>/xml-data/build-dir/JOB_KEY

是否可以限制这种访问?

PS。我知道一个事实,即构建是由Bamboo中的(本地或远程)代理运行的,您可以由不同的代理构建不同的项目。但是,如果两个项目是由同一代理构建的,则这些项目可以访问彼此的文件。

#1 楼

当前尚无法限制能够在同一代理上运行的作业之间潜在的交互。有很多功能要求这种粒度,但是如果我正确理解您的问题,最合适的要求就是一张BAM-2504吉拉票证。 ,我发现的唯一解决方案类似于上面链接的请求所建议的解决方案,基本上,您的Bamboo流程将需要以足够的特权运行,以模拟代表您想要分开的项目的一组用户。

一旦有了这种机制,您只需要尝试强制所有计划作为不可模仿的帐户之一运行即可,例如取决于项目或创建者等。

问题在于当前存在的访问控制方式意味着很少有核心管理员需要设置所有计划,以便他们可以确定所需的权限分配,而不是让非管理用户编辑和创建自己的权限计划。

如果这种方法不可行,那么一旦进入“数百个用户”类型的范围就不可行了,那么您唯一能做的就是尝试停止通过相互交互来建立工作是实施Bamboo所提供的非常弱的控件。

我尝试了两种方法来做到这一点:削弱(从您的本地代理处删除所有功能)对于每个不同的项目/团队/无论您需要什么到竹实例迫使他们使用BYO构建服务器。在大多数情况下,与潜在的数据泄漏或恶意计划交互的成本相比,我所涉足的代理成本是微不足道的。
确保计划中确实包含或认为确实包含敏感数据的项目在构建后始终对其环境进行消毒。这将负担从管理工具的团队转移到了编写计划的项目上,并迫使他们防御性地清理任何其他人可能不希望使用的信息。达到完美,但据我所知,如果有一个共享的Bamboo实例,则可以实现尽可能多的分离。