diff_months: 18

Continuous integration and testing pipeline Assignment

Download Solution Now
Added on: 2022-11-02 06:09:05
Order Code: 473849
Question Task Id: 0

Task Summary

In most Continuous Integration and Continuous Delivery (CI/CD) pipelines, the first three stages are Source control, Unit testing and Build automation. In this assessment you will:

  1. Implement the Source control stage
  2. Implement the Unit testing stage
  3. Implement the Build automation stage that performs the task of cleaning, compiling, testing and creating deployable package/executable
  4. Write a 1000-words report explaining the concept of Infrastructure as Code (IaC) and how it relates to DevOps practices.

Please refer to the Task Instructions for details on how to complete this task.

Task Instructions

Although implementation of Source control stage is independent of the choice of programming language, the implementation of Unit testing and Build automation relies on the specific programming language. Thus, you are first required to choose your favourite programming language along with a suitable unit testing framework and build automation tool. With your choice of programming language, unit testing framework, and build automation tool implement the followings.

  1. Implement Source control using Git and GitHub
    1. Create a free GitHub account if you do not have one.
    2. Create a simplistic application in your favourite programming language and push into GitHub.
    3. Create three branches from your repository named ‘feature-x’, ‘feature-y’, and ‘feature- z’.
    4. From each branch modify one of the source files so that they would lead to merge conflicts.
    5. Commit your changes in each branch and push each of the branches into GitHub.
    6. In GitHub, create a pull request to merge ‘feature-x’ branch into the master branch and approve the pull request.
    7. From Git CLI, merge the updated master branch with ‘feature-y’ branch. Resolve the conflict and push it into GitHub.
    8. In GitHub, create a pull request to merge ‘feature-z’ branch into the master branch. Resolve the conflict and complete the merge.
    9. Commit your changes and push the master branch into GitHub.
  1. Implement Unit testing
  1. Create a branch named ‘unit-test’ and checkout the newly created branch.
  2. In your chosen Unit testing framework, write five test cases for your applications such that three test cases pass and two test cases fail. Modify your applications if required.
  3. Add unit test files to your repository, commit the change and push the branch into GitHub.
  4. In GitHub, create a pull request to merge ‘unit-test’ branch with the master branch and complete the merge.
  1. Implement Build automation
  1. In your chosen build automation tools create a script to compile and test your application as well as making a deployable package or executable for your application.
  2. Create a ‘Readme.txt’ file with instructions on how to run the build script.
  3. Add the build script and the Readme.txt file to your master branch. Commit the changes and push the changes into GitHub.
  4. Write a report on Infrastructure as Code (IaC)
    1. The report shall contain the link to your GitHub repository.

Explain the concept of Infrastructure as Code (IaC) and its benefits in the context of Devlops.

  • Uploaded By : Katthy Wills
  • Posted on : November 02nd, 2022
  • Downloads : 0
  • Views : 164

Download Solution Now

Can't find what you're looking for?

Whatsapp Tap to ChatGet instant assistance

Choose a Plan

Premium

80 USD
  • All in Gold, plus:
  • 30-minute live one-to-one session with an expert
    • Understanding Marking Rubric
    • Understanding task requirements
    • Structuring & Formatting
    • Referencing & Citing
Most
Popular

Gold

30 50 USD
  • Get the Full Used Solution
    (Solution is already submitted and 100% plagiarised.
    Can only be used for reference purposes)
Save 33%

Silver

20 USD
  • Journals
  • Peer-Reviewed Articles
  • Books
  • Various other Data Sources – ProQuest, Informit, Scopus, Academic Search Complete, EBSCO, Exerpta Medica Database, and more