Continuous-Integration-Tutorial: Bitbucket Pipelines einrichten

Nachdem wir uns Continuous Integration mit GitLab und GitHub angesehen haben, fehlt noch „Bitbucket Pipelines“ in der illustren Runde. Wie wir unseren CI-Prozess mit dem Dienst von Atlassian umsetzen, steht im Folgenden im Fokus.

„Continuous-Integration-Tutorial: Bitbucket Pipelines einrichten“ weiterlesen

Continuous-Integration-Tutorial: GitHub Actions einrichten

Erst seit kurzem bietet GitHub mit den „GitHub Actions“ eine Möglichkeit, Continuous Integration (CI) innerhalb von GitHub in unseren Software-Entwicklungsprozess einfließen zu lassen. Bisher war man hierfür auf Dienste von Dritten angewiesen. Werfen wir einen Blick darauf, wie du für dein Projekt die GitHub Actions einrichten kannst.

„Continuous-Integration-Tutorial: GitHub Actions einrichten“ weiterlesen

Continuous-Integration-Tutorial: GitLab-CI/CD einrichten

Das Schöne auf der GitLab-Plattform ist, dass Continuous Integration von Anfang an bereits mitgedacht wurde. Insofern geht das Aufsetzen eines Continuous-Integration-Prozesses (CI) samt Continuous Delivery/Deployment (CD) vergleichsweise einfach von der Hand. Ganz von selbst erledigt sich das Ganze jedoch nicht und was dafür notwendig ist, damit der Prozess läuft, ist im Folgenden unser Thema.

„Continuous-Integration-Tutorial: GitLab-CI/CD einrichten“ weiterlesen

Code-Qualität in Python: Pylint als Linter für Python-Code einsetzen

Wir haben unsere IDE Visual Studio Code dank der Plugins so konfiguriert, dass sie uns während des Schreibens bereits viel Arbeit abnimmt, um unseren Code gemäß des PEP-8-Standards zu formatieren, aber alles kann uns das Plugin nicht abnehmen. Wir sehen uns einmal an, wie wir mit dem Einsatz des Linters Pylint unserem Ziel nach wohlgeformtem Python-Code ein entscheidendes Stück näher kommen.

„Code-Qualität in Python: Pylint als Linter für Python-Code einsetzen“ weiterlesen

Versionskontrolle mit Git in Visual Studio Code

Weil das Versionskontrollsystem Git Stand heute (2019) das meist verwendete Versionskontrollsystem der Welt ist, sehen wir uns an, wie wir unsere Projekte damit verwalten können. Allerdings ist das hier keine allgemeine Git-Einführung, sondern ein Blick auf den Umgang mit Git in Visual Studio Code. Das funktioniert nämlich erstaunlich gut.

„Versionskontrolle mit Git in Visual Studio Code“ weiterlesen

Warum eigentlich Python? Die nicht-technischen Gründe.

Warum ist hier Python die Sprache der Wahl und nicht eine andere? Man könnte die Beispiele für das Einrichten einer produktiven Umgebung für die Softwareentwicklung auch an Swift, Kotlin, JavaScript, Ruby oder Java demonstrieren. Das stimmt, aber für die Wahl von Python sprechen mehrere Gründe:

„Warum eigentlich Python? Die nicht-technischen Gründe.“ weiterlesen

Virtuelle Umgebung (venv) für die Entwicklung mit Python einrichten und sichern

Nun geht es ans Eingemachte: Hier sehen wir uns ganz konkret an, wie du eine virtuelle Umgebung mit Python in der Praxis einrichtest und sicherst. Los geht’s.

„Virtuelle Umgebung (venv) für die Entwicklung mit Python einrichten und sichern“ weiterlesen

Was ist eine virtuelle Umgebung und wozu braucht man die?

Was anfangs eher wie eine zusätzliche Hürde und Zeitverschwendung anmutet, erweist sich im Nachhinein oftmals als Geniestreich: Die Einrichtung einer virtuellen Umgebung in Python. Klären wir zu Beginn einmal, was das ist, wofür man es braucht und warum eine virtuelle Umgebung wichtig bei der Versionskontrolle ist.

„Was ist eine virtuelle Umgebung und wozu braucht man die?“ weiterlesen

Warum es sich lohnt, Python zu lernen

Die Anfang der 1990er ins Leben gerufene Programmiersprache Python erlebt derzeit einen enormen Zuwachs an Beliebtheit. Sehen wir uns einmal an, woran das liegt und warum wir uns mit der Sprache beschäftigen sollten, bei deren Namensgebung die britische Comedy-Serie Monty Python’s Flying Circus Pate stand.

„Warum es sich lohnt, Python zu lernen“ weiterlesen

Testabdeckung in Python messen

Wir wissen nun, warum man testet, welche Tests es gibt und wie man mit dem unittest-Modul in Python Tests schreibt. Ganz nebenbei haben wir den testgetriebenen Ansatz (TDD) und diesen sogar bei unserem FizzBuzz-Beispielprojekt angewandt. Allerdings haben wir nicht immer den Luxus, mit einem brandneuen Projekt zu beginnen, so dass wir eventuell nicht wissen, welche Stellen im Code mit Tests gesichert sind und welche nicht. Vielleicht haben wir auch den Fall, dass wir nicht durchgehend testgetrieben entwickelt haben und nun im Nachhinein wissen möchten, welche Stellen nicht von Tests abgedeckt sind. Hier hilft das Modul „coverage“ weiter.

„Testabdeckung in Python messen“ weiterlesen