<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Fri, Mar 17, 2017 at 2:08 PM Ben Parees <<a href="mailto:bparees@redhat.com">bparees@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><br></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><div style="font-family:georgia,serif" class="gmail_default gmail_msg">​yeah, pretty much...  so yes, not "free" and there is some non-zero value in offering an "s2i_sdk" type image.  Perhaps the most sensible thing to do would be to create the lightweight s2i_core image and then layer the "commonly needed packages" on top of that image to create the s2i_base image​.  Then we're not really introducing a new image, we're just splitting out the existing layers so you can start at the layer you want.<br class="gmail_msg"></div></div></div></div></div></blockquote><div><br></div><div>+1</div><div><br></div><div>This seems like a great approach.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><span class="gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="m_-5347868224862800977m_-3015549645739463807gmail_msg gmail_msg"><div class="gmail_extra m_-5347868224862800977m_-3015549645739463807gmail_msg gmail_msg"><div class="gmail_quote m_-5347868224862800977m_-3015549645739463807gmail_msg gmail_msg"><div class="m_-5347868224862800977m_-3015549645739463807gmail_msg gmail_msg"><div class="gmail_msg"><a href="https://docs.openshift.org/latest/dev_guide/builds/advanced_build_operations.html#dev-guide-chaining-builds" class="m_-5347868224862800977m_-3015549645739463807gmail_msg gmail_msg" target="_blank">https://docs.openshift.org/latest/dev_guide/builds/advanced_build_operations.html#dev-guide-chaining-builds</a></div></div></div></div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></span><div class="gmail_msg">Interesting. If I want to use chained builds, how do I accomplish that? Do I need to create a build in the UI, then manually edit the BuildConfig? Or somehow POST a BuildConfig to OpenShift? Is there any easier and more intuitive way?</div></div></div></blockquote></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"><div style="font-family:georgia,serif" class="gmail_default gmail_msg">​basically you create your two buildconfigs using whatever mechanism you want and edit/configure them as needed to setup the chaining.  There's no tooling specifically around "chain these builds together" if that is what you're asking.​<span style="font-family:sans-serif"> </span></div></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"> </div></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I'm curious why this is the suggested approach. From my perspective, extended builds seem much more intuitive, and certainly easier for the end user.<span class="m_-5347868224862800977m_-3015549645739463807inbox-inbox-Apple-converted-space gmail_msg"> </span></div></div></div></blockquote></div></div></div><div dir="ltr" class="gmail_msg"><div class="gmail_extra gmail_msg"><div class="gmail_quote gmail_msg"><div class="gmail_msg"><br class="gmail_msg"><div style="font-family:georgia,serif" class="gmail_default gmail_msg">​It was done because extended builds <br class="gmail_msg"></div><div style="font-family:georgia,serif" class="gmail_default gmail_msg">1) were limited to s2i based flows (with chained builds you can use an s2i build to produce a war file and a docker build to add that war into a runtime image)<br class="gmail_msg"></div><div style="font-family:georgia,serif" class="gmail_default gmail_msg">2) were a special case of something you could already do in the product via chained builds and thus were a redundant codepath/feature to maintain (with more limitations than the existing capability, per (1)).<br class="gmail_msg"></div><div style="font-family:georgia,serif" class="gmail_default gmail_msg">3) required learning another technique (creating more s2i scripts to support the extended flow, possibly creating more s2i images (runtime and build specific images), etc, whereas chained builds allows you to more directly use existing content<br class="gmail_msg"><br class="gmail_msg"></div><div style="font-family:georgia,serif" class="gmail_default gmail_msg">So yeah, it's a bit more configuration work, but it's a more flexible mechanism that more naturally builds on things people are already doing/can do instead of introducing a whole new path/type of image/etc.<br class="gmail_msg"></div></div></div></div></div></blockquote><div><br></div><div>Points on flexibility. No doubt that, as users/developers become more familiar with the system and build larger and more complex applications that flexibility is great. But imo the usability leaves a little to be desired. There's a lot of assumed knowledge in the docs, and while I understand at a high level what you mean here, I still think I'd need to do a good deal of tinkering, reading, research, etc. to get this going.</div><br class="inbox-inbox-Apple-interchange-newline"><div>Lance</div></div></div>