Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 2.27 KB

File metadata and controls

56 lines (38 loc) · 2.27 KB

devops-project

A small project to put devops principles and technologies into practice

Usage

Build the app container with docker build --tag devops-project --target devops-project .

Run the app container with docker run --name=devops-project -d --network host devops-project

Check container logs with docker logs -f devops-project

Testing

With an app container running as shown in previous step

Build the testing container with docker build --tag devops-project-test --target devops-project-test .

Run the container with docker run --name=devops-project-test -d --network host devops-project-test

Check container logs with docker logs -f devops-project-test

Tools used

Devops

CI/CD

Web

  • FastAPI : Python web framework
  • openSenseMap : Open-source public api with sensor data around the world

Development

  • Git & Github : version control system and hosting
  • Visual Studio Code : IDE (not really and IDE but kinda)
  • Hadolint : A dockerfile linter to ensure best practices are implemented
  • Pylint : A static code analyzer for python. Same goal as Hadolint but for python
  • Black : Code formatter

Testing

  • Pytest : Python testing framework, used for unit test

Git commit naming convention

  • feat : for newly added functionnality
  • fix : for bugfixing
  • doc : for documentation updating (comments, readme, etc ...)
  • refactor : for changes that do not have fucntionnal impact such as typos, unused variables/import or code "style" rewrite
  • prod : for changes concerning docker, jenkins, scripts and other production related modification

References

I learnt most of the skill and technologies required from the following resources :