From f8a1925284fdc6f39fdea7dea3a124ce08ab82bf Mon Sep 17 00:00:00 2001 From: laineveeti <106381169+laineveeti@users.noreply.github.com> Date: Sun, 11 Aug 2024 14:30:05 +0300 Subject: [PATCH] Create exercise1.md --- exercise1.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 exercise1.md diff --git a/exercise1.md b/exercise1.md new file mode 100644 index 0000000..b4fa7ac --- /dev/null +++ b/exercise1.md @@ -0,0 +1,15 @@ +Exercise 11.1 Warming up + +The pipeline for our Python application requires a linter, a test framework, and tools for building. Popular options for a linter include Ruff, PyLint, and flake8. + +Test frameworks include Pytest, Robot, and Unittest. As the name suggests, Unittest is for writing unit tests, while Robot is an automation testing framework and PyTest is especially useful for API tests. + +Build tools assist in handling library dependencies and project metadata, compiling the code and packaging the application into distributable forms. These tools can be all-purpose, such as Poetry and PyBuilder, or focus on a specific task, for example PyOxidizer focuses on production of standalone executables. + +Self-hosted CI platform alternatives to Jenkins include Travis CI, Docker, Bamboo, Buddy, and Azure DevOps. Cloud-based solutions include Circle CI, Gitlab and Google Cloud CI. + +The cloud-based solutions offer greater convenience but less control and security. With these paid services, a greater team size and longer CI pipeline will increase the costs of using the service. But for a smaller team, this shouldn't be an issue. + +However, the advantages of improved security and speed, which can be optimized as opposed to cloud-based pipelines, make self-hosted CI worth considering. These are not easily scalable with organization size and require expertise to maintain, but this is not that big of an issue with a small team. + +Considering these advantages and disadvantages, either a self-hosted or cloud-based CI environment should work just fine for us. However, if the team were to grow massively, the self-hosted environment might be the better choice.