Skip to content

Messiah University; CIS 411 Systems Analysis and Design; Continuous Deployment (CD) Lab using Docker, CircleCI, and Heroku.

License

Notifications You must be signed in to change notification settings

andrewcoldsmith/cis411_lab4_CD

 
 

Repository files navigation

CIS 411 Lab 4: Continuous Deployment

This is the Continuous Deployment (CD) Lab for CIS 411: Systems Analysis and Design for Messiah University

The purpose of this lab is to get hands on experience working with Docker, CircleCI, and a Cloud Service Provider like Heroku to create a CI/CD pipeline. Though the lab is generally paint by numbers, the hands on experience with the tools is meant to prepare students to improvise on this relatively simple implementation as teams approach CIS 471/472.

Doing the Lab

1. Pre-Requisites

  1. GitHub account
  2. Git is installed on your development machine.
  3. Text editor or other integrated development environment (IDE) for modifying code.
    ...
  4. You will install Docker (and need an account on Docker Hub) as part of this lab.
  5. You will install Heroku CLI (and setup a free account) as part of this lab.

2. Lab Description

This lab will build upon your prior experience using CircleCI in lab 1 for the first two steps. Step 3 will packaging the GraphQL application into a Docker container. Step 4 will focus on setting up the Heroku deployment location, and Step 5 will guide you through setting up the CI/CD pipeline in CircleCI. After the lab, you will need to respond to 4 questions about why container technology is useful in modern architectures.

Detailed instructions are here, and you are expected to compile your findings into a labreport following this template.

3. Submissions

You are expected to create a lab report as a markdown file under the labreports directory using the LAB_[GITHUB Handle].md naming convention in your forked repository. After you have reviewed your work, then you should submit a Pull Request to this repository with your lab report and any accompanying images/files (e.g., required diagrams). Add the Pull Request URL into the courseroom LMS (Canvas) for grading.

4. Grading Guidelines

The following elements have been incorporated into your assignment rubric.

  1. Working CI/CD Pipeline: There is a screenshot from CircleCI that shows both successful workflow steps.
  2. Working App: In addition to any screenshots, anyone can go to the deployed app URL and add an account.
  3. Question Responses: There are four questions at the end of the lab about container technology. They are assessed for accuracy and completeness. Distinguished (Full Marks) scores are reserved for responses that cite their sources.
  4. Communication: The markdown file is written according to professional standards by choosing the appropriate markdown elements, links and embedded content.

Resources

Lab Specific Help.

Understanding Markdown Syntax

CircleCI Resources

Docker Resources

Heroku Resources

License

This content is provided under the MIT license.

Credits

Special thanks to Joel Worrall, aka tangollama, for co-developing this course and writing this lab.

Tanner Stern compiled a tutorial on how to install Docker on Windows Home Edition (here) and added the associated windows bat files.

About

Messiah University; CIS 411 Systems Analysis and Design; Continuous Deployment (CD) Lab using Docker, CircleCI, and Heroku.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 88.5%
  • Batchfile 9.5%
  • Dockerfile 1.7%
  • Procfile 0.3%