用于Jenkins的Shell脚本批处理文件

时间:2014-05-01 19:29:25

标签: shell batch-file jenkins

我正在尝试在Windows机器上创建一个Jenkins构建,并且遇到了我完全不确定该怎么做的情况。 我有以下shell脚本,我需要转换为Windows批处理脚本,以便在构建运行时。我相信变量的设置正确,只是不确定如何处理其余部分:

#set POWERUSER=DTCURTISS
#set POWERPASS=password
set POWERUSER=auto
set POWERPASS=password
set TAG=$BUILD_NUMBER
set PATH=.env/bin:$PATH
set SAUCEUSER=DarthOpto
set ACCESSKEY=accesskey
set IGNOREPAGEHEADERLOCATION=True
set MAINMENUCLICKTILES=False
set LOGDIR=logs

source ../.env/bin/activate

cd trunk/automation/selenium/src
#pip install -r pip-requires.txt

rm -rf logs

nosetests --nocapture --with-xunitmp -a valallmod --processes=$THREADS --process-  timeout=5000

1 个答案:

答案 0 :(得分:1)

如果你不知道,你就不会走得太远。此外,简单地“翻译”bashbatch并不会神奇地使其在Windows上运行。

变量被引用为%VARNAME%,而不是$VARNAME。先解决这个问题。

Windows使用\作为路径分隔符,而不是/。更改所有路径以使用\

如果要在Windows中附加PATH变量,则必须确保不要销毁现有的PATH。您可以通过set PATH=%PATH%;C:\whatever\yourpath\

执行此操作

source类似的是批处理call,后跟另一个批处理文件名。但是,您不能只传递它../.env/bin/activate,因为它不是批处理文件。您还需要将该文件转换为批处理。并且不要忘记将路径分隔符转换为\。这也是我的第二点发挥作用的地方。您粘贴的文件相当简单。我不知道其他文件里面是什么,或者它是否可以“翻译”。

#不是批量有效评论,您需要使用REM或更好::

rm并且它的标志不是Windows命令。等价物是rmdir /s /q

最后,nosetests既不是bash也不是批处理。这是一个外部程序。你必须确保它在Windows中可用。作为下一个问题之前的先发制人,请阅读:'nosetests' not recognized on Windows after being installed and added to PATH

相关问题