Skip to content

cs220s24/Louis-Madison--Github-CI-CD

Repository files navigation

220-Project

Github CI/CD

Overview

Our project implements Continuous Integration (CI) and mostly implements Continuous Delivery (CD) using the web_counter application. The CI runs tests for functionally and correct formatting. The CD then the CD part should deploy the application into a EC2 Instance. Unfortunately, we have the CD connected into a EC2 instance, but we didn't get to the point where web_counter would be up and running on the EC2 instance. The test.py is used for general testing of the CI/CD process, but the rest of the file besides the workflows are the same. For this project, we also learned how to the password manager Github has called secrets. We made two secrets for this project called EC2_PUBLIC_ADDRESS and LABUSERPEM. The LABUSERPEM is hiding the private IP address, so that it's not in our code publicly. We used EC2_PUBLIC_ADDRESS because it's easier to update the public EC2 IP from secrets than in the code for the CD workflow.

Contributors: Louis Spann & Madison Myers

UML Diagram

demo  CICD merge with main and doing pull request to show that the tests are running (2)

Setup for local

1.git clone the web_counter repo -cd into repo

  1. make a vitrual environment

  2. activate virtual environment

  3. pip install requirements.txt

  4. python app.py

For Trouble shooting

  1. make second terminal window

  2. ssh into instance in new terminal window

  3. Run this command in the second terminal window curl localhost:8000

  4. run Gunicorn command gunicorn --bind 0.0.0.0:8000 app:app

  5. Open a browser and paste http://localhost:8000

Setup for AWS

  1. make EC2 instance
  2. ssh into instance
  3. sudo yum install git
  4. git clone the web_counter repo -cd into repo
  5. make a vitrual environment
  6. activate virtual environment
  7. pip install requirements.txt
  8. python app.py

For Trouble shooting

  1. make second terminal window
  2. ssh into instance in new terminal window
  3. Run this command in the second terminal window curl localhost:8000
  4. Run Gunicorn command gunicorn --bind 0.0.0.0:8000 app:app
  5. Open a browser and paste http://localhost:8000

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages