Schlüssel zur Rettung: Extrahieren und Sichern von Codemagic Secure Variables

In der Welt der Softwareentwicklung stellen unerwartete Herausforderungen oft die Regel und nicht die Ausnahme dar. Ein solcher unerwarteter Vorfall ereignete sich in einem unserer älteren Projekte, als der PC, der wichtige Zertifikate und Passwörter beherbergte, plötzlich den Geist aufgab. Die Tragweite dieses Problems war enorm. Verlorene Zertifikate und Keystore-Dateien könnten uns zwingen, unsere Apps vollständig neu zu veröffentlichen, was eine beträchtliche Menge an Arbeit und Zeit kosten würde.

Unsere erste Anlaufstelle zur Lösung dieses Problems war Codemagic, ein CI/CD-Tool, das wir zur Automatisierung unserer Build- und Deployment-Prozesse verwenden. Hier ist eine chronologische Darstellung unserer Versuche, die sicher gespeicherten Variablen aus Codemagic zu extrahieren und zu sichern.

Erster Lösungsversuch: Direkte Ausgabe

Unser erster Ansatz bestand darin, einen zusätzlichen Workflow in die codemagic.yaml-Datei einzufügen, der die Befehle echo $variable für jede sichere Variable ausführt. Variablen die als secure markiert waren wurden hier als ******** ausgegeben:

Zweiter Lösungsversuch: Umleitung in eine Textdatei

Nicht entmutigt durch den ersten Fehlschlag, modifizierten wir den Workflow, um die Ausgabe von echo in eine Textdatei zu pipen und dann diese Textdatei auszugeben. Auch dieser Versuch wurde von Codemagic blockiert, was unsere Aufgabe noch schwieriger machte.

Dritte Lösung: Base64-Kodierung

Unser Durchbruch kam mit einer cleveren Idee: die sicheren Variablen mit echo auszugeben und mit Base64 zu kodieren, bevor wir sie in einer Textdatei speicherten. Dieser Ansatz umging die Schutzmechanismen von Codemagic und ermöglichte es uns, die benötigten Informationen zu extrahieren und zu sichern:

Durch die Base64-Kodierung konnten wir die sicheren Variablen effektiv extrahieren und die benötigten Informationen sichern, um das Projekt am Leben zu erhalten und mögliche zukünftige Katastrophen zu vermeiden.

Die Reise, um die sicheren Variablen zu retten, war ein lehrreiches Erlebnis, das die Bedeutung einer robusten Backup-Strategie und einer klaren Dokumentation von sicherheitsrelevanten Informationen hervorhob. Es war auch eine Erinnerung daran, wie kreative Lösungen oft der Schlüssel zur Überwindung unerwarteter Herausforderungen in der Softwareentwicklung sind.

In einem unserer früheren Beiträge haben wir bereits die effektive Verwendung von Codemagic im Rahmen der iOS und Android App Entwicklung mit Vue.js und Ionic diskutiert. Durch die Integration von Codemagic konnten wir die Automatisierung unserer Build- und Deployment-Prozesse erheblich verbessern.

Sollten Sie noch Fragen haben oder eine Beratung wünschen, können Sie gerne mit uns Kontakt aufnehmen oder unsere Webseite besuchen. Wir lassen Ihnen gerne ein unverbindliches Angebot zukommen.