I just went through some debugging hell with shipwright running on a Jenkins slave. I was trying to get it to build images from a project, but the Jenkins "project name" was not the same as git project name (kind of a long story).
So, the folder ended up being "Test" (with the capital T). Shipwright failed on this in a fairly unfriendly way:
Traceback (most recent call last):
File "/usr/local/bin/shipwright", line 9, in <module>
load_entry_point('shipwright==0.2.2', 'console_scripts', 'shipwright')()
File "/usr/local/lib/python2.7/dist-packages/shipwright/cli.py", line 193, in main
for event in command(*args):
File "/usr/local/lib/python2.7/dist-packages/shipwright/__init__.py", line 101, in build_tree
targets # what needs building
File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 295, in _stream_helper
assert reader._fp.chunked
AssertionError
Which led me on a wild goose chase. I eventually found the issue and switched the Jenkins Git settings to clone to a sub directory by the name of the git project.
It seems that uppercase folder names cause errors. I understand that the "names" property in .shipwright.json can be used to fix this by mapping paths to Docker repository names, but the naming restriction should be documented.
I guess that the git project name could be culled from the remotes, but there's no guarantee that there will be any remotes. Documentation would nice, though :)
I just went through some debugging hell with shipwright running on a Jenkins slave. I was trying to get it to build images from a project, but the Jenkins "project name" was not the same as git project name (kind of a long story).
So, the folder ended up being "Test" (with the capital T). Shipwright failed on this in a fairly unfriendly way:
Which led me on a wild goose chase. I eventually found the issue and switched the Jenkins Git settings to clone to a sub directory by the name of the git project.
It seems that uppercase folder names cause errors. I understand that the "names" property in
.shipwright.jsoncan be used to fix this by mapping paths to Docker repository names, but the naming restriction should be documented.I guess that the git project name could be culled from the remotes, but there's no guarantee that there will be any remotes. Documentation would nice, though :)