1. Home
  2. Training Library
  3. Discover and Practice (Live Event): Design and DevOps

Practice Activity - Building a Pipeline

The objective of the final project is to build up an end-to-end DevOps tool chain that will build, containerise, and deploy some software. There are no step-by-step instructions for this project as it is up to you how you design and build your system. You should work in an agile manner - plan what you will do and take ownership of different parts of the project to work on.

You will have access to AWS to spin up servers. Please ensure that you terminate anything at the end of the day.

Requirements

  • Create a version control for your repositories, using a tool such as Git
  • Create a new project in your build (CI) server, such as Jenkins or GitLab, that will poll the repositories
    • We want the build to be automated, so set it up to build every time a change is pushed to git
    • You may need to use plugins for this!
  • Install the Docker (or another containerisation tool) plugin for your CI server and write a docker file to build a container for your project
    • The docker container should have a tomcat server
    • It should copy the built .war file to the tomcat webapps directory so that it is launched
    • It would be nice to have a username and password for the manager GUI in tomcat as well, so add a tomcat-users.xml file to be copied into tomcat as well
  • When the docker file is created, push the container to the docker hub
  • Decide on what types of tests you require and implement them
  • Research into a tool such as Terraform to see if you can automate the Web Servers
  • Investigate using a Zabbix server and use it to monitor the other servers you have running
    • You can either build it from source code or install via the repository 

If you have more time

  • You can use any app but if you want you can use this is PHP and MySQL based project available at https://bitbucket.org/qatrainingauthors/eventsproject - see if you can get that project pulled in by Jenkins, dockerised and hosted
    • You will need to have two linked docker containers, one with the database and one with apache (or nginx)
    • Have a look at docker-compose to see how to set off and control more than one container at once
    • Monitor everything with Zabbix

Report

Once you have completed the assignment, as directed by your tutor, write a short report on this task and the outputs achieved.

Your report should be in written format, between 250-500 words in length and can include additional evidence gathered during the activity (screenshots, etc.).

Submission Instructions

Once you have completed your work, you will need to submit it to Bud.  Upload both the Excel original and .csv files.

  1. Close this tab.
  2. On your activity window in Bud, click on the 'Submissions & Messages' button
  3. Click on the 'Submit Work/Message'
  4. Write a message and upload your work (you can use the drag & drop feature)
  5. Click on the 'Submit' button
Difficulty
Intermediate
Duration
22h 5m
Students
1
Description

This course accompanies the Software Development three-day live event Design and DevOps.

In this event, guided by your tutor, you will complete a series of practice activities that demonstrate the importance of DevOps in your design and development processes.

This learning path should be followed during your live event as directed by your tutor, and not beforehand.

If you have any questions, please ask your tutor. Enjoy your live event.

About the Author
Avatar
QA
Training Provider
Students
10316
Labs
31
Courses
150
Learning Paths
33

QA: A world-leading tech and digital skills organisation

We help many of the world’s leading companies to build their tech and digital capabilities via our range of world class training courses, reskilling bootcamps, work-based learning programmes and Apprenticeships. We also create bespoke solutions, blending elements to meet specific client needs.