如何从jenkins访问cloudbees中的grails插件目录

时间:2013-04-16 15:19:26

标签: grails jenkins cloudbees

我想从jenkins执行预构建(grails)脚本,用我的SCM中的文件替换plugins目录中的文件。

#!/bin/bash
PLUGINS_ORIG_DIR="plugins"
PLUGINS_DEST_DIR="/home/<my_user_name>/.grails/2.1.1/projects/judo/plugins"
cp -r $PLUGINS_ORIG_DIR/lang-selector-0.3/* $PLUGINS_DEST_DIR

但脚本失败,因为无法找到$ PLUGINS_DEST_DIR。应该是哪条路径或最佳方法?

谢谢。

[编辑]

我也试图创建一个战前事件,但它也不起作用:

/**
 * Copy modified resources to plugins directory, before packing the WAR
 */
eventCreateWarStart = { warName, stagingDir ->
    def buildSettings = BuildSettingsHolder.getSettings() 

    def projectPluginsDir = buildSettings.getProperty("projectPluginsDir")
    def baseDir = buildSettings.getProperty("baseDir")

    ant.copy(todir:"${projectPluginsDir}/lang-selector-0.3", overwrite:true) {
        fileset(dir:"${basedir}/plugins/lang-selector-0.3", includes:"**")
    }

    ant.copy(todir:"${projectPluginsDir}/jquery-datatables-1.7.5", overwrite:true) {
        fileset(dir:"${basedir}/plugins/jquery-datatables-1.7.5", includes:"**")
    }
}

2 个答案:

答案 0 :(得分:0)

您是否设置了cloudbees帐户名称? 然后你错了,应该使用/ home / jenkins或只是$ HOME,因为构建在通用奴隶上运行为“jenkins”用户

答案 1 :(得分:0)

我通过将文件复制到$ {stagingDir}而不是$ {projectPluginsDir}来解决它