构建conda包时,Jenkins不包含refrenced文件

时间:2016-11-10 08:21:38

标签: python linux jenkins conda

我正在使用Jenkins(linux)构建一个小的conda包,应该只是:

  • 从持有字体文件的外部参考资料下载.zip
  • 解压缩.zip
  • 将字体文件复制到特定文件夹
  • 构建包

构建成功运行,但程序包不包含字体文件,但基本上是空的。我的build.sh有:

mkdir $PREFIX\root\share\fonts
cp *.* $PREFIX\root\share\fonts

我的meta.yaml来源有:

source:
url: <ftp server url>/next-fonts.zip
fn: next-fonts.zip

在詹金斯,我做:

mkdir build
conda build fonts

虽然在这一部分,控制台输出很奇怪:

+ mkdir /var/lib/jenkins/conda-bld/fonts_1478708638575/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_prootsharefonts
+ cp Lato-Black.ttf Lato-BlackItalic.ttf Lato-Bold.ttf Lato-BoldItalic.ttf Lato-Hairline.ttf Lato-HairlineItalic.ttf Lato-Italic.ttf Lato-Light.ttf Lato-LightItalic.ttf Lato-Regular.ttf MyriadPro-Black.otf MyriadPro-Bold.otf MyriadPro-Light.otf MyriadPro-Regular.otf MyriadPro-Semibold.otf conda_build.sh /var/lib/jenkins/conda-bld/fonts_1478708638575/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_prootsharefonts
BUILD START: fonts-1-1
Source cache directory is: /var/lib/jenkins/conda-bld/src_cache
Found source in cache: next-fonts.zip
Extracting download
Package: fonts-1-1
source tree in: /var/lib/jenkins/conda-bld/fonts_1478708638575/work/Fonts
number of files: 0

对我来说,似乎cp要么没有完成,要么复制到错误的目录。不幸的是,使用占位符的东西我真的不能在复制时字体确切地落在哪里,我所知道的是在/ work / Fonts中,没有文件,因此没有任何内容包括在内包裹。键入时,我还注意到/ work / Fonts实际上有以大写字母F开头的字体,而在配置或脚本中没有任何字体以大写字母F开头。

对可能出现的问题的任何见解?

1 个答案:

答案 0 :(得分:0)

mkdir $PREFIX\root\share\fonts
cp *.* $PREFIX\root\share\fonts

应替换为

mkdir $PREFIX/root/share/fonts
cp * $PREFIX/root/share/fonts

构建脚本取自另一个在Windows中构建的包,在更改构建脚本时我忘了更改文件夹分隔符。

另外,在Linux中,在Linux中创建子文件夹结构是不可能的。所以这个

mkdir $PREFIX/root/
mkdir $PREFIX/root/share/
mkdir $PREFIX/root/share/fonts/
cp * $PREFIX/root/share/fonts/

是问题的最终解决方案。