Jenkins
Jenkins ist eine quelloffene CI/CD-Server-Software zur kontinuierlichen Integration und Bereitstellung von Anwendungen und Services.
In Jenkins lassen sich CI/CD-Pipelines sowohl über Formulare als auch über Code mithilfe der Programmiersprache Groovy in einer webbasierten Benutzeroberfläche definieren. Die Benutzeroberfläche von Jenkins ermöglicht zudem die Kontrolle und Überwachung der konfigurierten Automatisierungsaufgaben. Jenkins unterstützt verteiltes Bauen über Master-Agent-Architekturen und bietet eine Vielzahl von Plugins, um die Funktionalität zu erweitern, die Integration mit anderen Systemen zu erleichtern und die Benutzeroberfläche zu verbessern.
Jenkins ist eine quelloffene Software und wurde primär in Java implementiert. Die Software wurde ursprünglich von Kohsuke Kawaguchi entwickelt und 2005 unter dem Namen Hudson als Open-Source-Projekt veröffentlicht. Ab 2011 führte Kawaguchi die Entwicklung von Hudson als Software-Fork unter dem Namen Jenkins weiter, zuletzt als technischer Leiter bei der Firma CloudBees. Im Jahr 2020 verließ er sowohl CloudBees als auch das Jenkins-Projekt. Mitarbeiter der Softwarefirma CloudBees treiben die Weiterentwicklung von Jenkins weiterhin voran.
Jenkins zählt zu den ältesten und einflussreichsten CI/CD-Systemen und ist weiterhin sehr beliebt, insbesondere in selbst gehosteten Infrastrukturen. Einige populäre Alternativen finden Sie auf der Seite Continuous Integration & Delivery.
Jenkins Projekte
Entwicklung einer cloud-nativen Incentive-Anwendung mit AWS
Versicherungskonzern
07/2018 - 04/2019 · Remote
Entwicklung und Betrieb einer cloud-nativen Anwendung für die dezentrale unternehmensinterne Erfassung, zentrale Verwaltung und steuerliche Behandlung von vertrieblichen Incentives und geldwerten Vorteilen einschließlich CI/CD auf Basis von Kubernetes und Diensten in Amazon Web Services
Tätigkeiten
- Planung und Einrichtung der Umgebungen für Entwicklung, Integration, Test, Schulung und Produktion auf Basis von Docker, Kubernetes und verschiedenen AWS-Diensten
- Entwicklung der CI/CD-Pipelines für Frontend und Backend-Dienste
- Erweiterung des API Gateways um Authentifizierung und Autorisierung auf Basis von Tokens
- Mitwirkung an der Entwicklung der Geschäftslogik im Backend und der RESTful API einschließlich Test und Dokumentation
- Mitwirkung an der Entwicklung des Datenmodells für die PostgreSQL-Datenbank
- Mitwirkung an Planung und Entwicklung von Schnittstellen und Batch-Prozessen zum Austausch von Daten mit SAP Gateway, PostgreSQL, Redis und S3 mit Testdaten zum Zweck der lokalen Frontend- und Backend-Entwicklung
- Dokumentation der Softwarearchitektur einschließlich Betrieb, Schnittstellen und Prozessen
- Einarbeitung der Betriebsveranwortlichen bei der Übergabe der Anwendung in den dauerhaften Betrieb
- Projektsprachen: Deutsch, Englisch
Software-Typ
Web-Anwendung · Backend-Service · API · Datenbank-LösungTechnologien
Java · Spring · PostgreSQL · SQL · Redis · Docker · REST · SAML · Single Sign-On · SSO · JWT · JSON · CSV · Spring Boot · Spring Framework · Spring MVC · Spring Security · Spring Session · Spring Batch · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Testing · Spring Actuator · Spring Cloud · Spring Cloud Netflix · Spring Cloud Gateway · Spring WebFlux · Thymeleaf · JPA · JPQL · Hibernate · JavaMail · Jackson · Lombok · JUnit · AssertJ · Mockito · CI/CD · Jenkins · Groovy · Maven · SonarQube · Flyway · Nexus · Bash · GitHub · Amazon S3 · Amazon RDS · Amazon ElastiCache · Amazon Route 53 · Amazon SES · AWS Certificate Manager · Elastic Load Balancing · Nginx · HTML · JavaScript · Node.js · Npm · Kubectl · Jira · Confluence · Mac · IntelliJ IDEA · Domain-driven Design · Datenmodellierung · Serviceorientierte Architektur · API-Gateway · Backend for Frontend · Load Balancing · Microservices · Service-Discovery · Authentifizierung · Autorisierung · E-Mail · CloudEntwicklung und Betrieb einer mobilen App mit Backend
Dienstleistungen
10/2016 - 07/2021 · Köln
Entwicklung und Betrieb einer nativen mobilen App für iPhone und iPad zur Berechnung von Anwalts- und Gerichtskosten mit In-App-Käufen (Abonnements) mit einem mobilen Backend auf Basis von Swift, Java, PostgreSQL und REST
Tätigkeiten
- Entwicklung einer mobilen App für iOS und iPadOS zur Unterstützung von Juristinnen und Juristen bei der Bewertung wirtschaftlicher Prozessrisiken
- Spezialisierte Rechner zur schnellen und präzisen Berechnung von Anwalts- und Gerichtskosten nach dem deutschen Rechtsanwaltsvergütungsgesetz (RVG) und dem Gerichtskostengesetz (GKG)
- Berechnung der Kosten von Mahn- und Klageverfahren über mehrere Instanzen im Arbeits- und Zivilrecht
- Berechnung von Kosten für außergerichtlichen Verfahren im Arbeits- und Zivilrecht
- Berechnung der Verteilung der Kosten auf die Parteien des Verfahrens und des Kostenrisikos für Mandanten
- Berücksichtigung der kostenrechtlichen Unterschiede bei Beendigung des Klageverfahrens durch Urteil oder Vergleich
- Berücksichtigung verschiedener Umsatzsteuersätze
- Die App ermöglichte es den Anwendern, ein Premium-Abonnement abzuschließen.
- Entwicklung eines skalierbaren, sicheren Backend-Systems für die mobile App
- Verwaltung der Premium-Abonnements mit REST API zum Abruf durch die mobile App
- Verwaltung von Werbeanzeigen mit REST API zum Abruf der geschalteten Anzeigen durch die mobile App
- Authentifizierung und Autorisierung über OAuth 2.0
- Integration mit dem App Store
- CI/CD-Pipelines auf Basis von Jenkins, GitLab und Artifactory
- Entwicklung einer Website mit Informationen über die mobile App
Software-Typ
Mobile App · Backend-Service · API · Datenbank-LösungTechnologien
Swift · Java · Spring · REST · JSON · OAuth 2.0 · JWT · SQL · PostgreSQL · Datenmodellierung · HTML · CSS · Spring Boot · Spring Data · Spring Data JPA · Spring Data REST · Spring REST Docs · Spring Security · Thymeleaf · Hibernate · Flexmark · Tomcat · Maven · Jenkins · Groovy · Artifactory · Flyway · Bash · GitLab · StoreKit · Xcode · TestFlight · App Store Connect · JUnit · Mockito · Hamcrest · Nginx · Git · Redmine · IntelliJ IDEA · Mac · Serviceorientierte Architektur · Backend for Frontend · CI/CDHeadless CMS, Continuous Deployment & Kubernetes
Dienstleistungen
01/2015 - 05/2018 · Köln
Entwicklung einer Web-Anwendung zur Content-Aggregation aus einem Headless CMS mit vollständiger CI/CD-Pipeline-Automatisierung über Jenkins, Docker und Kubernetes für kontinuierliches Software-Deployment.
Tätigkeiten
- Konzeption und Implementierung einer Web-Anwendung zur Aggregation von Content (Texte, Bilder, Links) über REST API aus einem Headless CMS
- Integration und Anreicherung von CMS-Content mit zusätzlichen Daten aus externen Datenquellen für eine einheitliche Website-Darstellung
- Aufbau einer vollautomatisierten Continuous Integration, Delivery & Deployment Pipeline mit Jenkins, Bitbucket und Maven für optimierte Entwicklungsprozesse
- Einrichtung einer Git-basierten Trigger-Mechanik für automatische Build- und Deployment-Prozesse bei Code-Commits
- Migration der bestehenden VM-basierten Cloud-Infrastruktur zu einer containerisierten Kubernetes-Architektur im Jahr 2018
- Implementierung einer containerisierten Deployment-Strategie mit Docker-Image-Erstellung und automatischem Upload in Docker Registry
- Konfiguration und Betrieb von Kubernetes-Clustern für automatisierte Deployment-Prozesse auf Test-, Stage- und Produktionsumgebungen
- Betrieb und Wartung der gesamten Infrastruktur mit kontinuierlicher Optimierung der Deployment-Pipeline für häufige Release-Zyklen
- Integration von Security-Komponenten und TLS-Verschlüsselung für sichere Content-Auslieferung
Software-Typ
Web-Anwendung · APITechnologien
Java · Spring Boot · Spring Security · Thymeleaf · Prismic · Maven · Bitbucket · Jenkins · Docker · Docker Hub · Nginx · Linux Server · REST · Git · Caching · Reverse Proxy · Serviceorientierte Architektur · Backend for Frontend · CI/CD