0

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

#!/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:"**")
    }
}
4

2 回答 2

0

你是否设置了你的cloudbees帐户名称?那么你错了,应该使用 /home/jenkins 或只使用 $HOME,因为构建在通用从属服务器上以“jenkins”用户身份运行

于 2013-04-17T05:42:35.613 回答
0

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

于 2013-04-18T10:03:42.383 回答