A small project to put devops principles and technologies into practice
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
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
- Docker : Containerization
- Github Actions : CI/CD workflow similar to jenkins
- FastAPI : Python web framework
- openSenseMap : Open-source public api with sensor data around the world
- 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
- Pytest : Python testing framework, used for unit test
- 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
I learnt most of the skill and technologies required from the following resources :
- https://devopsroadmap.io/ : introduction to devops
- https://blog.stephane-robert.info/ : DevSecOps tutorials in french
- the documentations for the tools listed in Tools