DEPARTMENT OF COMPUTING

Assignment: Anatomy of a CirleCI Config

Objective: The goal of this assignment is to familiarize yourself with CircleCI and create simple configuration files using YAML for various scenarios.

Instructions:

Part 1: CircleCI Basics 1. Create a new repo with a CircleCI conifg file. That CircleCI file must contain the following: - A single workflow that invokes a single job - The job must use the Docker executor. The image can be the image of your choice but you may just want to stick with an Ubuntu based image - Have steps that accomplish the following: - checkout the repo - A step that prints “Hello, world” - A step that lists all files in the current directory. Be sure to display all files including hidden ones AND make sure it’s long form (the flags for this are -la) - Create a file called example.txt - Write text to that file. If you are unsure how to do this look up how to write text to a file without opening it in a shell script - Cat the newly created file - Install Zip and Unzip - Create a Zip archive of your example.txt file and call it artifact.zip - Store build artifacts (newly created zip file) - Unzip and list components in your archive (unzip -l <<filename>>) - Clean up. Remove all created files

Requirements: - A specific step for each of the above steps should be created - Job must run and complete in CircleCI

Submission Guidelines: - Submit the document through GitHub Classroom.

Grading Criteria: - Correct and complete YAML syntax implementation in the chosen scenario. Be sure to validate your YAML. - Inclusion of all required elements - Adherence to submission guidelines and deadlines.

Last Updated 09/26/2023