目前,我的Jenkins设置仅限于一个执行器。这几乎是我们构建的要求,因为我们有一个用户特定的日志文件,每次构建都会创建。为了获得多个执行器,我只是在本地框上设置了slaves。我希望所有的slaves共享同一个工作区,所以我只是创建了一个symlink。也就是说,我必须在工作区上chmod 775,这样它就更容易了。基于组的工作区。有没有办法让多个jenkins slave共享一个工作区?
编辑:关于我的1执行器限制。我们的应用程序是一个actionscript应用程序,我们有很多在构建过程中运行的单元测试,并创建了一个flash日志。我们希望能够为每个构建都有flash日志。unix上的flash日志存储在用户的主目录中。从版本10.1开始,您无法更改mm.cfg中的位置。由于Jenkins以用户身份运行,我们无法同时运行多个flexunit测试示例,并且无法正确捕获flash日志。
以下是我得到的一些烫发失败:
Fetching upstream changes from git@company:repo/repo.git
ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway
hudson.plugins.git.GitException: Error performing command: git fetch -t git@company:repo/repo.git
+refs/heads/*:refs/remotes/origin/*
Command "git fetch -t git@company:repo/repo.git +refs/heads/*:refs/remotes/origin/*" returned status code 128: error: insufficient permission for adding an object to repository database .git/objects
fatal: failed to write object
fatal: unpack-objects failed
at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:776)
at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:741)
at hudson.plugins.git.GitAPI.fetch(GitAPI.java:190)
at hudson.plugins.git.GitAPI.fetch(GitAPI.java:978)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:765)
at hudson.plugins.git.GitSCM.access$100(GitSCM.java:80)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:1003)
at hudson.plugins.git.GitSCM$2.invoke(GitSCM.java:970)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:2045)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:287)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
字符串
原因:hudson.plugins.git.GitException:命令“git fetch -t git@company:repo/repo.git +refs/heads/:refs/remotes/origin/”返回状态码128:error:enough permission for adding an object to repository database .git/objects
2条答案
按热度按时间6kkfgxo01#
转到每个从节点的节点配置(
http://[jenkins_server]/computer/[slave_name]/configure
),并将 Remote FS root 设置为 master 的 Home directory 的值。master 的home directory可以通过http://[jenkins_server]/configure
找到。以防万一,请单击 Home Directory 下的 Advanced 按钮,并确保 Workspace Root Directory 设置为类似${ITEM_ROOTDIR}/workspace
的值(因为从机将在[Remote FS root]/workspace
中创建它们的磁盘)。也就是说,我不能保证您在同一个工作区中从不同的从站运行作业时不会遇到各种问题。
gz5pxeao2#
我假设您在工作区中存储了一些信息,希望在构建之间持久化/共享。为此,您可能需要考虑使用Copy to Slave Plugin。