sevdesk for Salesforce – wiederkehrende Umsätze in Salesforce abbilden
Es gibt ein neues Update unserer sevdesk for Salesforce App! In diesem Beitrag erklären wir euch, wie ihr ganz ...
In diesem Blogpost geht es darum, was CI/CD (Continuous Integration und Continuous Deployment) ist und wie es uns dabei hilft exzellente Lösungen zu entwickeln. Dabei verwenden wir Beispiele aus unserem Entwicklungsprozess für Apps für den Salesforce-AppExchange.
Wir streben stets danach, unseren Kund:innen die besten Lösungen zu bieten, die ihr Unternehmen benötigt, und bauen so Vertrauen in unser Unternehmen als Team von Hightech-Produktentwickler:innen auf.
Und als zusätzliches Highlight erfahrt ihr, wie Continuous Integration mit dem panischen Gefühl zusammenhängt, wenn ihr merkt, dass ihr eure Schlüssel verloren habt 😱🔓 – und die Erleichterung, die ihr verspürt, wenn ihr euch daran erinnert, dass ihr dieses *Kling* noch im Garten eurer Freundin gehört habt.
Zunächst die technische Version: CI/CD steht für Continuous Integration (CI) und Continuous Deployment (CD). Es handelt sich um eine Reihe von Praktiken, die darauf abzielen, den Softwareentwicklungs- und Deploymentprozess zu automatisieren und zu optimieren.
Obwohl CI und CD oft zusammen genannt werden, gibt es wesentliche Unterschiede:
Continuous Integration konzentriert sich auf das Integrieren von Codeänderungen und das Durchführen automatisierter Tests. Das Hauptziel ist es, Integrationsprobleme frühzeitig zu erkennen und zu beheben. Anstatt wenige große Veränderungen am Code vorzunehmen (siehe Big Bang Integration unten), integriert CI kontinuierlich kleine Änderungen in die Software. Dies erleichtert es, Probleme zu identifizieren und zu beheben, die bei der Softwareentwicklung unvermeidlich auftreten.
Eine Metapher: CI als Wissen, wo ihr eure Schlüssel verloren habt: Stellt euch vor, ihr kommt nach einem schönen Besuch bei einer Freundin nach Hause. Als ihr eure Tür erreicht, merkt ihr, dass eure Schlüssel fehlen. 😱😰 Panik setzt ein, aber dann erinnert ihr euch an das deutliche *Kling*, das ihr kurz nach dem Verlassen des Hauses eurer Freundin gehört habt – und das ihr in dem Moment nicht zuordnen konntet. Erleichterung durchströmt euch, denn anstatt jeden Schritt vom Haus eurer Freundin bis zu eurem Haus zurückzuverfolgen, wisst ihr genau, wo ihr suchen müsst – direkt vor ihrem Haus. Ähnlich hilft CI dabei, durch das kontinuierliche Integrieren kleinerer Codeänderungen Probleme schnell zu identifizieren und zu beheben, was Zeit spart und Frustrationen reduziert.
Eine weitere Möglichkeit, CI zu verstehen, besteht darin, es mit Big Bang Integration zu vergleichen.
Big Bang Integration: Wenn ihr an den verschiedenen Teilen eines komplexen Systems wie Software individuell arbeitet und sie dann Tage, Wochen oder sogar Monate später wieder zusammenführt, spricht man von Big Bang Integration. Dies funktioniert normalerweise nicht gut und führt zu extremen Ineffizienzen.
Continuous Integration: CI versucht genau das zu verhindern. Eine Funktion wird implementiert, getestet und so schnell wie möglich in ein laufendes System integriert. Der Entwicklungsfortschritt wird daher kontinuierlich integriert.
Ein Salesforce-spezifisches Beispiel: Um dies zu veranschaulichen, betrachten wir ein häufiges Szenario in der Salesforce-Entwicklung: Stellt euch vor, ihr habt ein neues Feld zu einem Seitenlayout hinzugefügt. Während CI wird diese Änderung kontinuierlich in den gemeinsamen Codebestand integriert. Wenn ihr jedoch vergesst, dieses Feld während des Deployments (der Bereitstellung) abzurufen, aber trotzdem das Layout einschließt, werden CI-Tools diesen Unterschied feststellen und euch auf das fehlende Feld hinweisen. Dies ist ein einfaches, aber kraftvolles Beispiel dafür, wie CI sicherstellt, dass kleine, inkrementelle Änderungen korrekt integriert werden und das Risiko von Fehlern in späteren Phasen minimiert wird.
Trotz gründlicher Tests während CI können einige Fehler dennoch auftreten. Diese Fehler können entstehen durch:
Für uns stammen die häufigsten Probleme aus API-Änderungen, die von Drittanbietern vorgenommen wurden, obwohl Salesforce-Updates gelegentlich ebenfalls Probleme verursachen können, obwohl dies ziemlich selten ist.
Aus vergangenen Fehlern lernen: Um unsere CI-Pipeline kontinuierlich zu verbessern, bemühen wir uns, Fehler, die während der ersten automatisierten Tests nicht erfasst wurden, in unsere zukünftigen Tests zu integrieren. Wir überprüfen und verbessern unsere CI-Pipeline etwa alle sechs Monate, um sicherzustellen, dass sie robust und effektiv bleibt.
Obwohl CI die meisten Probleme frühzeitig erkennt, garantiert es kein fehlerfreies Produkt, insbesondere da es nur alles bis zur Vor-Deployment-Testphase abdeckt (was bedeutet, dass die Software noch nicht die Kund:innen erreicht hat). Hier kommt Continuous Deployment ins Spiel.
Continuous Deployment konzentriert sich auf die automatische Bereitstellung des Codes in der Produktionsumgebung. Das Prinzip ist dasselbe wie bei CI: Anstatt ein großes Deployment vorzunehmen, versucht ihr, den Deploymentprozess kontinuierlicher zu gestalten. Das Hauptziel ist es, sicherzustellen, dass der Code immer bereit ist, live zu gehen.
CI/CD-Pipelines helfen, die Unterschiede zwischen CI und CD zu verstehen.
Es gibt ein neues Update unserer sevdesk for Salesforce App! In diesem Beitrag erklären wir euch, wie ihr ganz ...
In diesem Beitrag erklären wir euch, was die Salesforce Community / Experience Cloud ist. Auch geben wir ein Beispiel für ...
An wen richtet sich dieser Beitrag? An alle, die wissen wollen, wie sie B2C in Salesforce abbilden können. Denn ...
Wir freuen uns über eure Nachricht und antworten euch in der Regel innerhalb eines Geschäftstages!