shiplift icon indicating copy to clipboard operation
shiplift copied to clipboard

Add build arguments support

Open Molter73 opened this issue 3 years ago • 1 comments

Hi everyone! I'm using shiplift in a small side project in which I build docker images and run them as self contained development environments. Today I realized one of my dockerfiles had an ARG statement and I have no way to set it through shiplift. Has someone looked into adding support for the buildargs parameter of the docker API? I have not been able to find an issue related to this. https://docs.docker.com/engine/api/v1.41/#tag/Image/operation/ImageBuild

From what I can tell we would need to add a build_arg method to BuildOptionsBuilder that takes the key and values. The problem I see is build_arg could be called multiple times and BuildOptionsBuilder has a params hash map that can only accept strings, so we would need to:

  • Have a single buildargs key and for every call to build_arg do some string manipulation to add the new argument.
  • Have a separate buildargs hash map in BuildOptionsBuilder, add key/value pairs directly in there and serialize it separately from the rest of the arguments.

Would love to hear some feedback on this, maybe even put together a PR if it sounds good to the community 😄

Molter73 avatar Nov 08 '22 14:11 Molter73

Just in case, I have a quick and dirty change for this commited here

Molter73 avatar Nov 08 '22 16:11 Molter73