Workshop - Deploy an Application using CI Pipelines with Tekton
Deploy an Application using CI Pipelines with Tekton
Prerequisites
- The instructor should Setup Workshop Environment
- The student should Setup CLI and Terminal Shell
Instructor will provide the following info:
- OpenShift Console URL (OCP_CONSOLE_URL)
- The username and password for OpenShift and Git Server (default values are user01, user02, etc.. for users and
password
for password).
Set
TOOLKIT_USERNAME
environment variable. If you are participation in a workshop replaceuserdemo
with your assigned username (ex.user01
).TOOLKIT_USERNAME=userdemoLogin to OpenShift using
oc
- If using IBM Cloud cluster then login with your IBM account email and IAM API Key or Token by using the Copy Login Command
- If using a cluster that was configured with the workshop scripts outside IBM Cloud then use respective assigned username (ex.
user01
), and the password ispassword
oc login $OCP_URL -u $TOOLKIT_USERNAME -p passwordSet
TOOLKIT_PROJECT
environment variable If you are participation in a workshop replaceprojectdemo
based on your assigned username (ex.project01
).TOOLKIT_PROJECT=projectdemoCreate a project/namespace using your project as prefix, and
-dev
and suffixoc sync $TOOLKIT_PROJECT-devFork application template git repo
- Open Developer Dashboard from the OpenShift Console
- Select Starter Kits
- Select One in our case Go Gin Microservice
- Click Fork
- Login into GIT Sever using the provided username and password (ie
userdemo
andpassword
) - IMPORTANT: Rename Repository Name to
app
- Click Fork Repository
Setup environment variable
GIT_URL
for the git url using the value from previous step or as following. Note: We are including username/password in git url for simplicity of this lab. You would NOT want to do this in your development environment.GIT_URL=http://${TOOLKIT_USERNAME}:password@$(oc get route -n tools gogs --template='{{.spec.host}}')/$TOOLKIT_USERNAME/appecho GIT_URL=${GIT_URL}Clone the git repository and change directory
cd $HOMEgit clone $GIT_URLcd appCreate a Tekton pipeline for the application
oc pipeline --tekton- Use down/up arrow and select
ibm-golang
- Hit Enter to enable image scanning
- Open the url to see the pipeline running in the OpenShift Console
- Use down/up arrow and select
Verify that Pipeline Run completed successfully
- On the OpenShift web console select Pipelines
- At the top of the page select your development project/namespace created above (ex.
project01-dev
) - The app pipeline last run status should be Succeeded
Review the Pipeline Tasks/Stages.
- Click on the last run
- Click on the Test task and view the logs
- Open SonarQube from Console Link
- Open Registry from Console Link
- Open Artifactory from Console Link
The gitops step of the pipeline triggeres Argo CD to deploy the app to QA. Select Developer perspective, select project
$TOOLKIT_PROJECT-qa
and then select Topology from the Console and verify the application runningOpen the application route url and try out the application using the swagger UI
Make a change to the application in the git repository and see the pipeline running again from the Console.
git config --local user.email "${TOOLKIT_USERNAME}@example.com"git config --local user.name "${TOOLKIT_USERNAME}"echo "A change to trigger a new PipelineRun $(date)" >> README.mdgit add .git commit -m "update readme"git push -u origin masterVerify that change in Git Server and Git WebHook
- Open Git Dev from Console Link
- Navigate to user app git repository
- Review the recent commit
- Review the webhook recent delivery
Verify that a new Pipeline starts successfully
Verify that the App manifests are being updated in the
gitops
repo in the git accounttoolkit
under theqa
directory.- Open Git Ops from Console Link
- Select toolkit/gitops git repository
Congratulations you finished this lab, continue with lab Promote an Application using CD with GitOps and ArgoCD