如何让 Jenkins 执行它从 Git 中提取的脚本?

Aff*_*eek 13 github jenkins

我正在使用 Jenkins 来触发和管理一系列导入作业。我想将我的导入脚本放在 Github 中,当 Jenkins 构建作业时,它应该 (a) 从 Github 中提取该版本控制的脚本并 (b) 运行脚本。

我遇到的问题是我不知道如何引用要在作业中运行的脚本的名称。我假设源代码被拉入工作区目录。这个假设正确吗?(要是有文档就好了!)

这是我到目前为止所做的:

  1. 在我的 Windows Server 上安装了 Jenkins(显然)(不,我没有选择)
  2. 在我的 github 帐户上创建了一个存储库并将我的代码放入其中
    • 公开于https://github.com/mcholl/SARS-Import/
    • 您会看到我有两个脚本,roottest.py 和 omniture-video\test.py。那里的代码已获得 Apple 的专利,我敢肯定:)
    • 这个想法是我想运行 roottest.py
  3. 安装了Github 插件
  4. 创建作业如下:
  5. 手动执行作业

但是,我得到的是无法找到该文件的错误消息。这很奇怪,因为我假设工作流是“将源的本地副本拉到 ...(Job)/workspace/ 目录,然后在工作区目录的上下文中运行批处理命令。

这是完整的控制台输出:

由匿名用户启动 构建在工作区 C:\Program Files (x86)\Jenkins\jobs\Testing Github Integration\workspace [workspace] $ cmd /c call C:\Windows\TEMP\hudson1966342425043540895.bat

C:\Program Files (x86)\Jenkins\jobs\Testing Github Integration\workspace>python roottest.py python: can't open file 'roottest.py': [Errno 2] No such file or directory

C:\Program Files (x86)\Jenkins\jobs\Testing Github Integration\workspace>exit 2 Build step 'Execute Windows batch command'mark build as failure Finished: FAILURE

显然,我希望在控制台中看到我的打印语句的结果。

我搞砸了什么?为什么我的脚本还没有出现?

小智 5

对于我的构建(在 Linux 主机上),我执行类似这样的操作(作为 Jenkins 中的构建步骤)以从新签出的工作区中执行构建脚本:

执行shell命令:

 sh -x $WORKSPACE/build/myproject.build
Run Code Online (Sandbox Code Playgroud)

我认为它在 Windows 上的工作方式类似,当然除了你会使用 \ 而不是 / 并且你使用 python 而不是 sh 来执行你的脚本。