我目前正在使用Jenkins和Gradle来构建项目。我目前正在尝试使用uploadArchives任务将生成的jar放置在另一个用户的目录下。目前没有任何成功:
Jenkins 的输出:
[minigame-chronos] $ /var/lib/jenkins/workspace/minigame-chronos/gradlew uploadArchives
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar UP-TO-DATE
:uploadArchives FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':uploadArchives'.
> Could not publish configuration 'archives'
> java.io.FileNotFoundException: /home/minecraft/server/plugins/minigame-chronos-0.1.jar (Permission denied)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
build.gradle:
repositories {
mavenCentral()
flatDir {
name "devServer"
dirs "/home/minecraft/server/plugins"
}
}
uploadArchives {
repositories {
add project.repositories.devServer
}
}
到目前为止,我已经尝试过尝试用户组和目录权限。
目录/ home / minecraft / server / plugins /具有以下文件权限
drw-rw-rw- 2 minecraft minecraft-dev 4096 Jan 4 13:14 plugins
用户jenkins和minecraft都属于minecraft-dev组。
谢谢您的帮助
最佳答案
您缺少目录的“执行”权限-没有人可以chdir到它。
尝试
chmod + x / home / minecraft / server / plugins
@见https://unix.stackexchange.com/questions/21251/how-do-directory-permissions-in-linux-work
关于deployment - Gradle + Jenkins:发布到其他用户的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34599440/