Git Product home page Git Product logo

cis411_lab4_cd's Introduction

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.

cis411_lab4_cd's People

Contributors

trevordbunch avatar ammanuelt avatar tangollama avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.