Zum Fußzeileninhalt springen
VERWENDUNG VON IRONSECUREDOC

Docker Build Push Action (Wie es für Entwickler funktioniert)

Was ist Docker?

Docker ist eine Open-Source-Powerhouse, die das Erstellen, Implementieren und Verwalten von Anwendungen erleichtert, indem sie in leichte, tragbare Container platziert werden. Die Container verpacken eine Anwendung und ihre Abhängigkeiten, einschließlich Bibliotheken, Konfigurationsdateien usw., sodass sie sogar in verschiedenen Umgebungen ausgeführt werden kann. Dies beseitigt alle Kompatibilitätsprobleme, was bedeutet, dass die Anwendung auf einem Entwickler-Laptop genauso funktioniert wie auf einem Server oder in der Cloud. Es vereinfacht den Entwicklungs-, Test- und Skalierungsprozess, indem es die Werkzeuge effizient baut, versendet und Container betreibt, wodurch die Ressourcen einfacher verwaltet werden.

Docker Build Push Action (Wie es für Entwickler funktioniert): Abbildung 1 - Docker

Was ist ein Docker-Image?

Images sind Docker-Typ-Blueprints, die die konsistenten Laufzeitumgebungen tragen. Entwickler können gebrauchsfertige Images von Docker Hub, einem öffentlichen Register, nutzen oder ihre eigenen Docker-Images erstellen. Werkzeuge wie Docker Compose und Kubernetes erweitern die Fähigkeiten von Docker noch mehr, indem sie einfache Orchestrierungen von Multi-Container-Setups hinzufügen oder komplexe Skalierungsanforderungen auf mehr Plattformen verwalten.

Warum die Docker Build Push Action verwenden?

Reibungslose Automatisierung

Das manuelle Erstellen und Pushen von Docker-Images ist exponiert, fehleranfällig und zeitaufwendig. Die Automatisierung dieser Schritte gewährleistet Vorhersagbarkeit und fügt besonders dann Stunden hinzu, wenn das Team skaliert oder Updates häufiger werden.

Reibungslose Integration

Die Docker Build Push Action arbeitet direkt mit GitHub-Repositories, um Workflows rund um Ereignisse wie Code-Änderungen, Pull-Anfragen oder einen Zeitplan zu erstellen.

Standardisiertes Erstellen von Images

Automatisierung stellt sicher, dass jedes Mal, wenn Docker-Images gebaut werden, sie gleich sind; daher werden Fehler/Diskrepanzen über mehrere Umgebungen wie Entwicklung, Staging und Produktion reduziert.

Einfache Implementierung

Mit der automatisierten Erstellung von Docker-Images und deren Push in die Repositories kann die Implementierung relativ einfach werden. Tools wie Kubernetes oder Docker Swarm können verwendet werden, um Multi-Plattform-Images direkt aus dem Docker-Register zu ziehen oder zu erstellen, und reduzieren somit die Ausfallzeiten.

Wie die Docker Build Push Action funktioniert

Die Build und Push Docker Action macht drei Kernaufgaben:

  1. Richten Sie Docker-Anmeldung ein: Container-Register-Authentifizierung, um Docker-Bilder sicher zu pushen.
  2. Image Build: Führt Docker-Build-Befehle mithilfe einer Dockerfile aus, die Anweisungen enthält.
  3. Push zum Register: Es pusht das erstellte Image zu einem Ziel-Container-Register.

Diese Schritte werden in einer GitHub Actions Workflow-Datei (.github/workflows/your-workflow.yml) definiert, in der Sie Trigger, Build-Konfigurationen und Registry-Anmeldeinformationen angeben.

Implementierung der Docker Build Push Action

1: Bereiten Sie Ihr Repository vor

  • Fügen Sie eine Dockerfile hinzu, die die containerisierte Anwendung beschreibt.
  • Fügen Sie alle Konfigurationsdateien oder Skripte hinzu, die für den Build erforderlich sind.
# Use Node.js as the base image
FROM node:14

# Set the working directory
WORKDIR /app

# Copy package.json and install dependencies
COPY package.json .
RUN npm install

# Copy the application code
COPY . .

# Expose the application’s port
EXPOSE 3000

# Start the application
CMD ["npm", "start"]

2: Fügen Sie Registry-Anmeldeinformationen als GitHub-Geheimnisse hinzu

Um Docker-Images zu einem Container-Register zu erstellen und zu pushen, benötigen Sie Anmeldeinformationen. Fügen Sie diese als GitHub-Geheimnisse hinzu:

  • Gehen Sie zu Ihren Repository-Einstellungen auf GitHub.
  • Gehen Sie zu Geheimnisse und Variablen > Aktionen.

Fügen Sie die folgenden Geheimnisse hinzu:

  • USERNAME: Ihr Docker Hub-Benutzername.
  • PASSWORD: Ihr Docker Hub-Zugriffstoken oder Passwort.

Für andere Register ist dies ähnlich, erfordert jedoch manchmal zusätzliche Anmeldeinformationen, zum Beispiel AWS_ACCESS_KEY_ID und AWS_SECRET_ACCESS_KEY für Amazon ECR.

3: Erstellen Sie einen GitHub Actions Workflow

Fügen Sie die folgende Zeile in die YAML-Workflow-Datei in .github/workflows/docker-build-push.yml ein.

name: Docker Build and Push

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # Step 1: Check out the repository
      - name: Checkout code
        uses: actions/checkout@v3

      # Step 2: Log in to Docker Hub
      - name: Log in to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}

      # Step 3: Build and push the Docker image
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: username/repository:latest
name: Docker Build and Push

on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      # Step 1: Check out the repository
      - name: Checkout code
        uses: actions/checkout@v3

      # Step 2: Log in to Docker Hub
      - name: Log in to Docker Hub
        uses: docker/login-action@v2
        with:
          username: ${{ secrets.USERNAME }}
          password: ${{ secrets.PASSWORD }}

      # Step 3: Build and push the Docker image
      - name: Build and push
        uses: docker/build-push-action@v4
        with:
          context: .
          push: true
          tags: username/repository:latest
YAML

Push zur Main: Der Workflow wird bei jedem Push ausgelöst, der im Haupt-Branch erfolgt.

Checkout-Code: Verwenden Sie die actions/checkout-Aktion, um das Repository auszuchecken.

Login to Registry: Authenticate with Docker Hub using the provided secrets.

Build und Push: Es läuft die Docker Build Push Action, die das Image aus dem aktuellen Verzeichnis bis zum Kontext baut und es an username/repository:latest pusht.

Commit the workflow file to your repository. Mit einem einfachen Push wird der Workflow ausgelöst, um das Image zu erstellen und es in Ihr angegebenes Register zu pushen.

Was ist IronSecureDoc?

IronSecureDoc ist ein neu entwickeltes Produkt von Iron Software, das speziell dafür entwickelt wurde, digitale Dokumente, hauptsächlich PDFs, durch sehr robuste Verschlüsselung und Kontrollen zu sichern. Dies ermöglicht einer Organisation, fortschrittliche Verschlüsselungsprotokolle wie AES-256 zu installieren, sodass die genannten sensiblen Informationen ohne autorisierte Erlaubnis nicht angezeigt werden können. Das bedeutet, dass das genannte Dokument nur vom autorisierten Benutzer geöffnet werden kann, da das Drucken, Bearbeiten und Kopieren davon Einschränkungen unterliegt, zusammen mit benutzerdefinierten Berechtigungen. Auch Passwortschutz und digitale Signaturen verbessern die Sicherheit und Integrität in den Dokumenten und Wasserzeichen.

Docker Build Push Action (Wie es für Entwickler funktioniert): Abbildung 2 - IronSecureDoc: Der PDF-Sicherheits- und Compliance-Server

IronSecureDoc ist entwicklerfreundlich und kann Anwendungen bequem über Docker oder andere Programmierumgebungen beherbergen, sodass es in der Lage sein sollte, sich an viele Geschäftsabläufe anzupassen. Zum Beispiel bedeutet in den Bereichen Gesundheit, Finanzen und Recht die Vertraulichkeit der Dokumente alles. IronSecureDoc kombiniert die Merkmale der Verschlüsselung und Kontrolle von Dokumenten innerhalb einer Organisation mit der Sicherstellung der Aufbewahrung, die es ermöglicht, die Einhaltung, einfache und sichere Freigabe mit einem Partner oder Kunden außerhalb zu ermöglichen.

Wie IronSecureDoc funktioniert

IronSecureDoc wird als Docker-Container ausgegeben und bietet Zugriff auf die Build-Funktionen über API-Endpunkte, die es skalierbar und einheitlich halten. Entwickler ziehen ein vorgefertigtes Docker-Image von IronSecureDoc aus einem Container-Register und fügen es in ihre Anwendungen ein.

Dokumenten-Workflow mit IronSecureDoc

  • Erstellen und pushen Sie den IronSecureDoc-Container mit der Docker Build Push Action.
  • Implementierung desselben Containers auf einer Cloud-Plattform wie AWS ECS oder Kubernetes.
  • Integrieren Sie Ihre Anwendung, um mit IronSecureDoc für jegliche Dokumentenoperation zu kommunizieren.

Installieren und starten Sie IronSecureDoc

Um das IronSecureDoc-Docker-Image aus dem unten stehenden GitHub-Repository zu ziehen, führen Sie im Befehlsfenster oder in einem offenen Terminalfenster den folgenden Befehl aus.

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Build Push Action (Wie es für Entwickler funktioniert): Abbildung 3 - Docker-Image ziehen

Nach dem Ziehen eines Images aus dem Docker-Container haben wir einen weiteren Befehl, um den IronSecureDoc zu starten, einen Betrieb-Container.

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Der obige Docker-Run-Befehl erstellt eine Container-Instanz von IronSecureDoc.

Verwendung von IronSecureDoc

Die REST-API von IronSecureDoc wurde anderswo besprochen, aber im Wesentlichen ermöglicht sie dem Benutzer, Dokumente sofort nach der Installation und dem Start von Docker zu redigieren, zu zertifizieren und zu verschlüsseln. Hier ist der Link zur Dokumentation.

Docker Build Push Action (Wie es für Entwickler funktioniert): Abbildung 4 - REST API

Wir könnten auch ein Dokument verschlüsseln, indem wir an die IronSecureDoc-API wie folgt posten:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

Dies leitet das Dokument automatisch in IronSecureDoc, wo es korrekt verschlüsselt wird.

Abschluss

Alles beginnt mit Docker Build Push Action und IronSecureDoc. Sie kombinieren zwei sehr leistungsstarke Werkzeuge, die die Fähigkeit freischalten, Workflows zu containerisieren, mit einer sicheren, automatisierten und skalierbaren Entwicklung. Docker Build Push Action kümmert sich um die automatisierte Erstellung und Implementierung im Entwicklungsprozess von Container-Images, und IronSecureDoc kümmert sich um die robuste Dokumentensicherheit innerhalb dieser Container. Es läuft alles auf optimierte Pipelines von Entwicklern hinaus und zuverlässige Leistung über Umgebungen hinweg. Egal, ob Sie eine Bereitstellung von Anwendungen verwalten oder sensible Dokumente sichern, diese Tools in Ihrem Workflow sind bereit, Sie in Richtung moderne, effiziente Softwareentwicklung zu bewegen.

IronSecureDoc: wo dokumentenspezifische Sicherheitsfunktionen hinzugefügt werden können, einschließlich Dateiverschlüsselung, Zugriffskontrollen und Authentifizierung der Authentizität des Dokuments mit digitalen Signaturen. Gemeinsam bieten Docker-Zertifikate und IronSecureDoc vollständige Sicherheitszyklen, die alles von der Infrastruktur bis zu sensiblen gespeicherten Daten schützen. Um mehr über die Lizenz von IronSecureDoc zu erfahren, besuchen Sie die Lizenzierungsseite. Für Informationen über viele der Produkte von Iron Software folgen Sie diesem Bibliotheks-Suite-Link.

Häufig gestellte Fragen

Wie kann ich HTML in PDF in C# konvertieren?

Sie können die RenderHtmlAsPdf-Methode von IronPDF verwenden, um HTML-Strings in PDFs zu konvertieren. Sie können auch HTML-Dateien mit RenderHtmlFileAsPdf in PDFs konvertieren.

Was ist Docker?

Docker ist eine Open-Source-Plattform, die den Aufbau, die Bereitstellung und das Management von Anwendungen mittels Container vereinfacht. Diese Container packen Anwendungen mit ihren Abhängigkeiten und gewährleisten so ein einheitliches Verhalten in verschiedenen Umgebungen.

Wie rationalisiert die Docker Build Push Action die Workflow-Prozesse?

Die Docker Build Push Action automatisiert das Erstellen und Pushen von Docker-Images in GitHub-Repositories, reduziert Fehler und spart Zeit. Sie erstellt Workflows, die durch Ereignisse wie Code-Pushes oder Pull-Requests ausgelöst werden.

Warum ist Docker nützlich für Entwickler?

Docker ist nützlich für Entwickler, weil es Anwendungen in Containern kapselt und so für eine einheitliche Leistung sorgt und Kompatibilitätsprobleme in verschiedenen Umgebungen minimiert. Dies vereinfacht Entwicklungs-, Bereitstellungs- und Managementprozesse.

Welche Vorteile bieten Docker-Container?

Docker-Container bieten Vorteile wie Portabilität, Skalierbarkeit und Konsistenz über verschiedene Umgebungen hinweg. Sie kapseln Anwendungen mit ihren Abhängigkeiten, was Kompatibilitätsprobleme reduziert und die Bereitstellungseffizienz verbessert.

Wie gewährleistet IronSecureDoc die Dokumentsicherheit?

IronSecureDoc sichert digitale Dokumente durch robuste Verschlüsselungstechniken wie AES-256 sowie durch Funktionen wie Passwortschutz und digitale Signaturen. Es ist besonders nützlich in Branchen mit hohen Vertraulichkeitsanforderungen, wie Gesundheitswesen und Finanzwesen.

Kann IronSecureDoc in bestehende Workflows integriert werden?

Ja, IronSecureDoc kann in bestehende Workflows integriert werden, da es als Docker-Container arbeitet und über API-Endpunkte Funktionen bereitstellt. Dies macht es flexibel und einfach in verschiedenen Bereitstellungsszenarien.

Wie steigert Docker Build Push Action die Bereitstellungseffizienz?

Docker Build Push Action steigert die Bereitstellungseffizienz, indem es den Prozess des Erstellens und Pushens von Docker-Images automatisiert, eine konsistente Image-Erstellung gewährleistet und Ausfallzeiten durch Integration mit Plattformen wie Kubernetes reduziert.

Welche Rolle spielen Docker-Images bei der Anwendungsbereitstellung?

Docker-Images dienen als Blaupausen für Container, enthalten die Anwendung und ihre Abhängigkeiten. Sie gewährleisten Konsistenz in verschiedenen Umgebungen und sind somit entscheidend für eine zuverlässige Anwendungsbereitstellung.

Wie automatisiere ich den Aufbau von Docker-Images mit GitHub Actions?

Um den Aufbau von Docker-Images mit GitHub Actions zu automatisieren, erstellen Sie eine Workflow-Datei, die Auslöser wie Code-Pushes angibt, Docker-Login- und Build-Aktionen verwendet und das erstellte Image in eine Registry schiebt. Diese Automatisierung vereinfacht den Build- und Bereitstellungsprozess.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen