【问题标题】:Shell Script to Batch file for Jenkins用于 Jenkins 的批处理文件的 Shell 脚本
【发布时间】:2014-05-01 19:29:25
【问题描述】:

我正在尝试在 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

【问题讨论】:

    标签: shell batch-file jenkins


    【解决方案1】:

    如果你不知道,你就不会走得太远。此外,简单地将bash“翻译”成batch并不能神奇地让它在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

    【讨论】:

      猜你喜欢
      • 2011-01-28
      • 1970-01-01
      • 2013-05-16
      • 2014-06-14
      • 2013-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多