Hi,
Vaclav presented the build pipeline very nicely and this would take out lot of tension for building the code, checking the code standards and test cases from the developer.
I would like to add few points on this.
On Tue, Feb 9, 2016 at 8:08 PM, Vaclav Pavlin vpavlin@redhat.com wrote:
Hi all,
As KB wrote, I brought up the idea of using OpenShift as a glue (i.e. workflow controller). The result can be found here: https://github.com/vpavlin/cccp-demo-openshift
TL;DR:
The repository contains OpenShift Template defining the workflow - build,test, delivery and (very poorly) implements the steps through Docker images (i.e. Dockerfiles and run scripts).
The developer should do only git push to his VCS and this should trigger
the build process in the pipeline.
In this TDD process all the environments (including the build, test, delivery) would be created as a container and once the step is over it will destroy the environment. As output this will generate a application runtime along with the successfully built application code to registry.
As you mentioned this would be tagged with test along with jenkins build id, so that developer or QA can trace for which commit this is built.
Then for the next stages, successfully built image would be deployed to openshift instance to get through the test, delivery stages checking, along with the quality gates.
all the stages should be linked to pipeline and should be easily re-producible so that any one can check or regenerate the issues instantly.
It's easily runnable in Vagrant with use of Project Atomic Developer Bundle.
If you are interested in more info, I'd suggest to read the readme in the repo, I hope it summarizes it clearly.
It's a very minimal demo, but I think it suggests the path, which could take us to the Unicorns land, quite well:).
Let me know in case of any questions, suggestions or requests for guidance in case anybody decides to take this further.
I would like to take this further, please let me know if my thought
process is in the same line as yours or any changes, suggestions.
Few weeks back I created almost a similar system (without vagrant) and it was very much welcomed by the developers.
Thanks Bamacharan
Cheers, Vašek
On Sun, Feb 7, 2016 at 3:22 AM, Karanbir Singh kbsingh@centos.org
wrote:
hi,
Yesterday a few of us met for a face to face walk through of the CentOS Container Pipeline we've been talking about. The aim was to rescope the upstream projects we can lean on, share code with, and help - and then find the glue pieces that could bring this code base together.
The larger picture effectively boils down to :
- Find the components needed to track code git repos ( either in
git.centos.org or elsewhere )
- Find the components needed to now build that code, containerise the
code, push it through a test process, and then deliver the containers either locally into a centos transitional container registry, or to a CDN like wider centos registry or if the user so desires, to a third part registry ( provided a good process can be find to handle the credentials needed ).
- We'd want to use this pipeline both internally, for the CentOS Linux
components ( eg. a LAMP container from CentOS Linux 7 ), for SIG components via cbs output ( eg. SCLo SIG folks shipping containers for their content ), as well as open this up via a trivial UI, for anyone in the community who'd like to come and consume this pipeline.
the key piece that we didnt have clarity on was the orchestration and glue that could bind the various software components. Vaclav Pavlin, brought up that we might be able to use openshift templates in order to get the job runs done - if the input for the templates could be derived from the cccp-index, either via the jjb work already done, or writing a new filter into JJB, we might be able to execute a fairly scaleable solution without needing to own any piece of the over all code.
Additionally, there is a fair interest from the Fedora team ( ie Adam! ) working on the same problem in their space, mostly consuming the identical code stack, within and for their infra, their constraints and aims.
Over the coming days we are going to try and work though PoC's, get some infra setup and trial running through some of the user stories we want to execute on.
Finally, a quick shout out to everyone for coming together at pretty much the last minute adhoc meeting - Fabian Arrotin, Brian Stinson, Christoph Goern, Vaclav Pavlin, Aaron Weitekamp, Tomas Tomecek, Adam Miller, Dusty Mabe, Honza Horak, Radek Vokal as well as Tim Waugh, Bama Charan and Mohammed Zeeshan for dialing into the meeting.
And to everyone else, want to build containers with us ? come talk to us
- we'd love to make sure we include as many user stories to get great
scope before we start implementing bits.
regards
- --
*>* Karanbir Singh, Project Lead, The CentOS Project *>* +44-207-0999389 | http://www.centos.org/ http://www.centos.org/ | twitter.com/CentOS http://twitter.com/CentOS *>* GnuPG Key : http://www.karan.org/publickey.asc http://www.karan.org/publickey.asc *>* _______________________________________________ *>* CentOS-devel mailing list *>* CentOS-devel at centos.org https://lists.centos.org/mailman/listinfo/centos-devel *>* https://lists.centos.org/mailman/listinfo/centos-devel https://lists.centos.org/mailman/listinfo/centos-devel *>