This is a sample repo to get students (and others) going with a DevOps project. It will serve as the template for introductory lectures on this topic.
It is being built for the DevOps class at NYU Tandon, but usable anywhere!
This project should layout the basic structure of all projects for the DevOps class.
DevOps: the practices and tools supporting those practices that allow organizations to deliver reliable software that meets its users' needs rapidly and repeatedly.
To set up a new developer's environment, in the top-level directory, run:
make dev_env
To build production, run:
make prod
- Use workflow control.
- Use version control.
- Automate our documentation generation.
- Automate our testing.
- Automate code review.
- Configure the system with code (infra-structure as code).
- Automate our builds.
- Use CI/CD to automate our deployment.
- Learn how to containerize our application.
- Contemplate monitoring.
Tools to acheive the above:
- kanban
- git
- pydoc
- nose, coverage, unittest
- flake8
- make
- Travis CI
- Docker
- Status Cake
We should develop incrementally, taking many small steps.
We should make work visible.
We will write automated tests for all of our application code.