BitBucket CI/CD 管道 - 在测试中更改文件权限在 bitbucket 管道中失败

问题描述 投票:0回答:1

我进行了一项测试,以确保应用程序在无法访问文件时提供正确的错误。为此,测试更改文件权限,运行应用程序并检查错误。

类似:

public void permissions() {
  String file = prepareFiles(); // let's say this creates a file /tmp/myfiles/filetocheck

  Path path = Paths.get(file).getParent();
  Files.setPosixFilePermissions(path, PosixFilePermissions.fromString("---------"));

  MyApp.main();

  thenLogContains("no access to " + file + ": java.nio.file.AccessDeniedException")
}

它在本地工作,但是当它在BitBucket管道中运行时,由于权限尚未更改而失败。有人遇到过同样的问题吗?有什么解决办法吗?

bitbucket cicd bitbucket-pipelines
1个回答
0
投票

对于像我这样的初学者:问题很简单,docker容器以root身份运行,因此即使更改权限,该文件仍然可以从maven读取。

这篇文章指出了如何通过创建新用户并以该用户身份运行maven来解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.