Jenkins通过SSH

时间:2016-12-21 14:30:17

标签: linux git jenkins ssh

我已经阅读了这4篇帖子:

我们的问题似乎与该列表中的第一个问题最为相似。

我们正在从构建我们的软件(以及我们需要的软件包)过渡到Linux。设置linux构建确实有效,但是,生成的存档不会转移到我们的包服务器。相关控制台输出:

SSH: Connecting from host [intern2]
SSH: Connecting with configuration [intern2] ...
SSH: EXEC: STDOUT/STDERR from command [conda index /srv/pkgsrv/conda-repo/linux-64/] ...

updating index in: /srv/pkgsrv/conda-repo/linux-64
SSH: EXEC: completed after 1,001 ms
SSH: Disconnecting configuration [intern2] ...
SSH: Transferred 0 file(s)
Finished: SUCCESS

构建配置为:

Source files: conda-bld/linux-64/*.tar.bz2
Remove prefix: conda-bld/linux-64
Remote directory: conda-repo/linux-64/
Execute command: conda index /srv/pkgsrv/conda-repo/linux-64/

远程目录已经存在,jenkins有权在那里写。相同的服务器配置(除了子目录)用于Windows构建,它们被正确传输。 Jenkins的配置说:

HOME    /var/lib/jenkins
JENKINS_HOME    /var/lib/jenkins
PWD /var/lib/jenkins

我们构建的目录是$ HOME / conda-bld / linux-64。在那里,我可以看到构建的.tar.bz2文件(已经积累了一些成功的版本)。

jenkins@intern2:~/conda-bld/linux-64$ ls
fonts-1-1.tar.bz2                    qjsonrpc-dev-1.0-12.tar.bz2  qjsonrpc-dev-1.0-6.tar.bz2  qjsonrpc-dev-1.0-9.tar.bz2
<otherproject>-0.1-19_g6fe33e2.tar.bz2  qjsonrpc-dev-1.0-13.tar.bz2  qjsonrpc-dev-1.0-7.tar.bz2  repodata.json
qjsonrpc-dev-1.0-10.tar.bz2          qjsonrpc-dev-1.0-14.tar.bz2  qjsonrpc-dev-1.0-8.tar.bz2  repodata.json.bz2

如果jenkins没有复制,为什么不给出某种错误?我如何指定文件夹有问题,因为我无法弄清楚是什么?我在哪里可以找到错误?

/ edit:我查看了Jenkins日志并找到了

Dec 22, 2016 8:39:41 AM org.kohsuke.stapler.RequestImpl$TypePair convertJSON
WARNING: 'stapler-class' is deprecated: hudson.plugins.git.extensions.impl.RelativeTargetDirectory
Dec 22, 2016 8:39:41 AM org.kohsuke.stapler.RequestImpl$TypePair convertJSON
WARNING: 'stapler-class' is deprecated: hudson.tasks.Shell
Dec 22, 2016 8:39:41 AM org.kohsuke.stapler.RequestImpl$TypePair convertJSON
WARNING: 'stapler-class' is deprecated: jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin
Dec 22, 2016 8:40:15 AM hudson.model.Run execute
INFO: qjsonrpc-linux #15 main build action completed: SUCCESS

我会尝试更新SSH Publish插件,看看是否有帮助。

1 个答案:

答案 0 :(得分:0)

问题是文件是根据jenkins工作目录构建到不同的文件夹,因为我忘了设置CONDA_BLD_PATH。但是,在设置CONDA_BLD_PATH时,我们在构建程序包时遇到了奇怪的错误。

Making absolute symlink root/lib64/libqjsonrpc.so.1.0 -> libqjsonrpc.so.1.0.99 relative
Traceback (most recent call last):
  File "/usr/local/lib/miniconda/bin/conda-build", line 6, in <module>
    sys.exit(conda_build.cli.main_build.main())
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 242, in main
    execute(sys.argv[1:])
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/cli/main_build.py", line 234, in execute
    already_built=None, config=config)
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/api.py", line 77, in build
    need_source_download=need_source_download, config=config)
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/build.py", line 1099, in build_tree
    config=recipe_config)
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/build.py", line 799, in build
    create_info_files(m, pkg_files, config=config, prefix=config.build_prefix)
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/build.py", line 399, in create_info_files
    write_about_json(m, config)
  File "/usr/local/lib/miniconda/lib/python2.7/site-packages/conda_build/build.py", line 305, in write_about_json
    conda_info = subprocess.check_output([bin_path, 'info', '--json', '-s'])
  File "/usr/local/lib/miniconda/lib/python2.7/subprocess.py", line 574, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['/usr/local/lib/miniconda/bin/conda', 'info', '--json', '-s']' returned non-zero exit status 1
Build step 'Execute shell' marked build as failure

我们最终建立了错误的目录,然后在文件构建步骤发布之前移动文件。

mkdir -p conda-bld/linux-64
conda build src

然后

mv /var/lib/jenkins/conda-bld/linux-64/qjsonrpc*.tar.bz2 conda-bld/linux-64

在设置conda路径时不确定构建有什么问题,但现在可以正常工作。

相关问题