Promoting Applications Across Environments

In this video

In this new demo video, Veer Muchandi explains how to promote your application across different environments. If you want to follow all the steps in the video you can also check the notes below.

Additional Notes

The following notes may help you to follow the different steps explained in the video.
Promoting Applications Across Environments
For this demo, we assume that we have three projects in three different environments: Development, QA and Production. As you may expect, we also have different roles, like the developer and the tester, that have different types of access to each environment.

Create a new Project

Here are the commands used to create a new project with name “development” and providing “edit” access to developer and “view” access to the tester.

oc new-project development —display-name="Development Project"
oc policy add-role-to-user edit dev1
oc policy add-role-to-user view test1
Create a QA project

Commands needed to create a QA project and provide “edit’ access to the tester.

oc new-project testing —display-name="QA Project"
oc policy add-role-to-user edit test1
Enable the test project to pull development images

Assigning the system:image-puller role to the service account “testing” which is the default service account for the testing project on the development project. By doing this, we are enabling the testing project to be able to pull images from the development project.

oc policy add-role-to-group system:image-puller system:serviceaccounts:testing -n development
Create an application in development

Switch over as developer and create an application in the development project.

oc login -u dev1
oc project development
oc new-app --template=eap6-basic-sti -p APPLICATION_NAME=myapp,APPLICATION_HOSTNAME=myapp-dev.apps.demov3.osecloud.com,EAP_RELEASE=6.4,GIT_URI=https://github.com/VeerMuchandi/kitchensink.git,\
GIT_REF=,GIT_CONTEXT_DIR= -l name=myapp
Identifying the image id

Finding the image stream name and identifying the full image id.

oc get is
oc describe is

The “describe is” command will show the full image id. You can copy that into clipboard. Use that to tag the specific image to promote.

oc tag development/myapp:promote
Deploy an application in the test project

Login as tester and deploy an application in the “testing” project.

oc login -u test1
oc project testing
oc new-app development/myapp:promote

Note the service name and create a route.

oc get svc
oc expose svc

 

Other Videos

View the Entire OpenShift 3 Demo Playlist

For the latest information on OpenShift 3, please visit enterprise.openshift.com.

Categories
News, OpenShift Container Platform, OpenShift Dedicated, OpenShift Online, OpenShift Origin, Products, Videos
Tags
,
  • yg

    Hi Veer, Nice demo. I was trying the same in my origin server. Everything just works fine. But in the last step where you tag latest image built after correcting typo to test environment which causes deployment start automatically in testing project. This doesn’t work for me, as in testing project when I create app using “oc new-app development/myapp:promote”, I could not see imagechange trigger in Deployment config. How tagging new image to “development/myapp:promote” causes auto trigger in testing project?? Your thoughts on this would be very helpful.

    Thanks,
    yg

  • Isn’t the id missing in the oc tag command?