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.
The following notes may help you to follow the different steps explained in the video.
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
For the latest information on OpenShift 3, please visit enterprise.openshift.com.