提问人:Ste 提问时间:11/14/2023 更新时间:11/19/2023 访问量:22
BitBucket CI/CD 管道 - 在测试中更改文件权限失败 Bitbucket 管道
BitBucket CI/CD pipeline - changing file permissions in a test fails in bitbucket pipeline
问:
我有一个测试,以确保应用程序在无法访问文件时提供正确的错误。为此,测试会更改文件权限,即运行应用程序并检查错误。
像这样:
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 管道中运行时,它会失败,因为权限尚未更改。有没有人遇到过同样的问题?有什么解决办法吗?
答:
1赞
Ste
11/19/2023
#1
对于像我这样的初学者:问题只是 docker 容器以 root 身份运行,因此即使更改权限,文件仍然可以从 maven 读取。
这篇文章指出了如何通过创建一个新用户并以该用户身份运行 maven 来解决问题。
评论