Srinivas,

I’d like to throw another option your way.

Eclipse —> Git —> Jenkins to build and create artifacts —> Jenkins Docker 
Plug-in to create image -> push image to the built-in openshift docker registry

Something you’ll need before the above pipeline, is a configuration already in 
place on the openshift cluster (deployment config, pointing to the built-in 
registry, service, route, etc…) and the build-in registry needs to be exposed.

We are using this in my environment and it works well. We are using our own 
existing build processes that we’ve already had in place without any extra 
unnecessary work, and simply plugging in openshift to complete the deployment. 
Sending an image to the internal registry is essentially what the openshift 
native build process does; therefore, one is able to abuse the native 
extensions that openshift has built to complete deployments in an automated 
fashion.

We do, however, utilize multiple openshift clusters. One for testing and one 
for prod as an example. So we simply have two deploy jobs that get kicked off 
appropriately. If by chance you utilize the same cluster for both dev and prod, 
you can probably take the above model and utilize tagging appropriately to send 
the final deployment image into production.

We like this as we are able to integrate our existing large and ugly pipelines 
that have already been fine tuned to our liking. It also allows our deployment 
engineers to continue the path they already do without having to learn a new 
system. The downside I see to this is that we may be missing out one some 
features that openshift may provide in their building process. It also forces 
some undue troubleshooting as we are building our own docker containers which 
is a little difficult for our developers to test with locally. Things we’ve had 
to deal with are documented well within openshift, and most if it concerns the 
use of SCC’s and image file permissions. Though, thus far, it hasn’t been 
terrible.


--
John Skarbek


On March 18, 2016 at 02:57:28, Srinivas Naga Kotaru (skotaru) 
(skot...@cisco.com<mailto:skot...@cisco.com>) wrote:

We’re thinking what is the best approach for our code deployment and promotion.

This is our proposed flow for each approach

Docker build: ( Outside of Openshift)
==============================

Eclipse —> Git —> Jenkins to build and create artifacts —> Jenkins Docker 
Plug-in to create image and push to corporate repo —> oc import-image and oc 
deploy —latest

Basically build & Image creation happening out side of Openshift.

OpenShift native:
==============

Eclipse —> GIT —> Jenkins to build artifacts —> OC Binary deploy by CI/CD tool 
against each app as CI/CD has admin access to each project

We have 2 choices here a) binary build for each life cycle b) build for dev 
life cycle and promote using docker tag and push to other life cycles. Option B 
make more sense naturally

This approach using native openshift for build and deployments. Also using 
openshift internal registries to store final build images for each life cycle.

Can you comment on each pros and cons? From scaling ( hundred thousand 
deployments) as well as easy to operate and maintain. Whatever approach it 
should be repeatable and reliable without errors since we will  automate 
everything as part of CI/CD pipeline.

Thanks in advance and appreciated feedback

--
SrinivasKotaru
_______________________________________________
users mailing list
users@lists.openshift.redhat.com
https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openshift.redhat.com_openshiftmm_listinfo_users&d=CwICAg&c=_hRq4mqlUmqpqlyQ5hkoDXIVh6I6pxfkkNxQuL0p-Z0&r=8IlWeJZqFtf8Tvx1PDV9NsLfM_M0oNfzEXXNp-tpx74&m=lwMOrMH5uQuS0bXtBW5_dMK5rygsmaJRq1XyBxGrjm0&s=--Mau5gkyzLBfAg_YMyH1xFRPx739yA31PmjW9CZcDc&e=
_______________________________________________
users mailing list
users@lists.openshift.redhat.com
http://lists.openshift.redhat.com/openshiftmm/listinfo/users

Reply via email to