from ironxl import *
# Supported for XLSX, XLS, XLSM, XLTX, CSV, and TSV
workbook = WorkBook.Load("sample.xlsx")
# Select worksheet at index 0
worksheet = workbook.WorkSheets[0]
# Get any existing worksheet
first_sheet = workbook.DefaultWorkSheet
# Select a cell and return the converted value
cell_value = worksheet["A2"].IntValue
# Read from ranges of cells elegantly.
for cell in worksheet["A2:A10"]:
print("Cell {} has value '{}'".format(cell.AddressString, cell.Text))
# Calculate aggregate values such as Min, and Sum
total_sum = worksheet["A2:A10"].Sum()
Docker Build Push Action (Wie es für Entwickler funktioniert)
Chaknith Bin
14. Januar 2025
Teilen Sie:
Was ist Docker?
Docker ist eine Open-Source-Kraft, die das Erstellen, Bereitstellen und Verwalten von Anwendungen durch die Platzierung in leichten, portablen Containern erleichtert. Das Containerpaket umfasst 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 dem Laptop eines Entwicklers genauso funktioniert wie auf einem Server oder in der Cloud. Es vereinfacht den Entwicklungs-, Test- und Skalierungsprozess, indem es die Werkzeuge effizient erstellt, liefert und Container betreibt, wodurch die Ressourcen einfacher verwaltet werden.
Was ist ein Docker-Image?
Images sind die Docker-artigen Blaupausen, die die konsistenten Laufzeitumgebungen bereitstellen. Die Entwickler können gebrauchsfertige Images aus Docker Hub, einem öffentlichen Register, nutzen oder ihre eigenen Docker-Images erstellen. Tools wie Docker Compose und Kubernetes erweitern die Fähigkeiten von Docker noch weiter, indem sie einfache Orchestrierungen von Multi-Container-Setups hinzufügen oder komplexe Skalierungsanforderungen auf mehreren Plattformen verwalten.
Warum die Docker Build Push Action verwenden?
Reibungslose Automatisierung
Das manuelle Erstellen und Pushen von Docker-Images ist fehleranfällig, zeitaufwändig und fehleranfällig. Die Automatisierung dieser Schritte gewährleistet Vorhersehbarkeit und fügt Stunden zum Endergebnis hinzu, insbesondere wenn das Team wächst oder Aktualisierungen häufiger werden.
Nahtlose Integration
Die Docker Build Push Action funktioniert direkt mit GitHub-Repositorys, um Workflows für Ereignisse wie Code-Übertragungen, Pull-Requests oder einen Zeitplan zu erstellen.
Standardaufbau von Bildern
Automatisierung stellt sicher, dass jedes Mal, wenn Docker-Images erstellt werden, diese gleich sind. daher werden Fehler/Diskrepanzen in mehreren Umgebungen wie Entwicklung, Staging und Produktion reduziert.
Einfache Bereitstellung
Mit dem automatisierten Erstellen von Docker-Images mittels Build und ihrem Push in die Repositories kann die Bereitstellung relativ einfach werden. Tools wie Kubernetes oder Docker Swarm können verwendet werden, um Multi-Plattform-Images direkt aus dem Docker-Registry zu ziehen oder zu erstellen, und somit Ausfallzeiten zu reduzieren.
Wie die Docker Build Push Action funktioniert
Die Build and Push Docker-Aktion führt drei grundlegende Aufgaben aus:
Docker-Login einrichten: Container-Registry-Authentifizierung zum sicheren Übertragen von Docker-Images.
Image Build: Führt Docker-Build-Befehle unter Verwendung einer Dockerfile aus, die Anweisungen enthält.
In ein Registry verschieben: Es schiebt das erstellte Image in ein Zielcontainer-Registry.
Diese Schritte sind in einer GitHub Actions-Workflow-Datei (.github/workflows/your-workflow.yml) definiert, in der Sie Trigger, Build-Konfigurationen und Registry-Anmeldedaten angeben.
Implementieren Sie 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 für den Build erforderlichen Konfigurationsdateien oder Skripte hinzu.
# 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"]
# 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"]
#Use Node.js as the base image
#Set the working directory
#Copy package.json and install dependencies
#Copy the application code
#Expose the application's port
#Start the application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'FROM node:14 WORKDIR /app COPY package.json.RUN npm install COPY. . EXPOSE 3000 CMD ["npm", "start"]
$vbLabelText $csharpLabel
2: Registrierungseinstellungen als GitHub Secrets hinzufügen
Um Docker-Images in ein Container-Register zu erstellen und zu pushen, benötigen Sie Anmeldedaten. Fügen Sie diese als GitHub-Geheimnisse hinzu:
Gehen Sie in die Repository-Einstellungen auf GitHub.
Gehen Sie zu Geheimnisse und Variablen > Aktionen.
Fügen Sie die folgenden Geheimnisse hinzu:
BENUTZERNAME: Ihr Docker Hub-Benutzername.
PASSWORT: Ihr Docker Hub-Zugangstoken oder Passwort.
Für andere Registrys ist dies ähnlich, erfordert jedoch manchmal zusätzliche Anmeldedaten, beispielsweise 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.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_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.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_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
Private name:
#Step 1: Check out the repository
#Step 2: Log in to Docker Hub
Docker Build [and] Push [on]: push: branches: - main jobs: build: runs-[on]: ubuntu-latest steps: - name: Checkout code uses: actions/checkoutv3 - name: Log in [to] Docker Hub uses: docker/login-actionv2 [with]: username: ReadOnly Property $() As
If True Then
secrets.DOCKER_USERNAME
End If
End Property
Private password:
$
If True Then
If True Then
secrets.DOCKER_PASSWORD
End If
End If
#Step 3: Build and push the Docker image
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' - name: Build @and push uses: docker/build-push-action@v4 @with: context: .push: True tags: username/repository:latest
$vbLabelText $csharpLabel
An Main pushen: Der Workflow wird bei jedem Push ausgelöst, der im Hauptbranch erfolgt.
Kassen-Code: Verwenden Sie die actions/checkout-Aktion, um das Repository auszuchecken.
Anmeldung am Registry: Authentifizieren Sie sich bei Docker Hub mit den bereitgestellten Geheimnissen.
Build und Push: Es führt die Docker Build Push Action aus, die das Image aus dem aktuellen Verzeichnis bis zum Kontext erstellt und es auf username/repository:latest pusht.
Übertragen Sie die Workflow-Datei in Ihr Repository. Mit einem einfachen Befehl wird der Workflow ausgelöst, um das Image zu erstellen und es in Ihr angegebenes Registry hochzuladen.
Was ist IronSecureDoc?
IronSecureDoc ist ein neu entwickeltes Produkt von Iron Software, das speziell zum Sichern digitaler Dokumente, hauptsächlich PDFs, durch sehr robuste Verschlüsselung und Kontrollen entwickelt wurde. Dies ermöglicht es einer Organisation, fortschrittliche Verschlüsselungsprotokolle wie AES-256 zu installieren, sodass die besagten sensiblen Informationen nicht ohne autorisierte Erlaubnis eingesehen werden können. Das bedeutet, dass das genannte Dokument nur vom autorisierten Benutzer geöffnet werden kann, da das Drucken, Bearbeiten und Kopieren davon mit Einschränkungen sowie benutzerdefinierten Berechtigungen versehen ist. Außerdem erhöhen Passwortschutz und digitale Signaturen die Sicherheit und Integrität in den Dokumenten und bei der Wasserzeichenverwendung.
IronSecureDoc ist entwicklerfreundlich und kann Anwendungen bequem über Docker oder andere Programmierumgebungen bereitstellen, daher sollte es in der Lage sein, 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 Funktionen der Verschlüsselung und Kontrolle von Dokumenten innerhalb einer Organisation mit der sicheren Aufbewahrung, die die Einhaltung, einfache und sichere Weitergabe an einen Partner oder Kunden außerhalb ermöglicht.
Wie IronSecureDoc funktioniert
IronSecureDoc wird als Docker-Container bereitgestellt und bietet über API-Endpunkte Zugriff auf die Build-Funktionen, wodurch es skalierbar und einheitlich bleibt. Entwickler ziehen ein vorgefertigtes Docker-Image von IronSecureDoc aus einem Container-Registry und integrieren es in ihre Anwendungen.
Dokumenten-Workflow mit IronSecureDoc
Erstellen und pushen Sie den IronSecureDoc-Container mit der Docker Build Push Action.
Bereitstellung desselben Containers auf einer Cloud-Plattform wie AWS ECS oder Kubernetes.
Integrieren Sie Ihre Anwendung, um mit IronSecureDoc für jede Dokumentenoperation zu kommunizieren.
Installieren und Ausführen von IronSecureDoc
Um das IronSecureDoc Docker-Image aus dem unten stehenden GitHub-Repository abzurufen, führen Sie im Eingabeaufforderungsfenster oder in einem offenen Terminalfenster den folgenden Befehl aus.
docker pull ironsoftwareofficial/ironsecuredoc
Nach dem Herunterladen eines Images aus dem Docker-Container haben wir einen weiteren Befehl, um IronSecureDoc, einen laufenden Container, zu starten.
Der obige Docker-Run-Befehl wird eine Containerinstanz von IronSecureDoc erstellen.
Verwendung von IronSecureDoc
Die REST-API von IronSecureDoc wurde anderweitig besprochen, ermöglicht dem Benutzer jedoch im Wesentlichen, Dokumente direkt nach der Installation und dem Starten von Docker zu schwärzen, zu zertifizieren und zu verschlüsseln. Hier ist der Link zur Dokumentation.
Wir könnten ein Dokument auch verschlüsseln, indem wir es wie folgt an die IronSecureDoc-API senden:
Dies wird das Dokument automatisch in IronSecureDoc leiten, wo es korrekt verschlüsselt wird.
Schlussfolgerung
Alles beginnt mit Docker Build Push Action und IronSecureDoc. Sie vereinen zwei sehr leistungsstarke Werkzeuge, die die Möglichkeit bieten, Workflows zu containerisieren und eine automatisierte und skalierbare Entwicklung zu sichern. Docker Build Push Action kümmert sich um den automatisierten Aufbau und die Bereitstellung im Entwicklungsprozess von Container-Images, und IronSecureDoc sorgt für eine robuste Dokumentensicherheit innerhalb dieser Container. Alles dreht sich um optimierte Workflows der Entwickler und zuverlässige Leistung über verschiedene Umgebungen hinweg. Egal, ob Sie eine Bereitstellung von Anwendungen verwalten oder sensible Dokumente sichern, diese Werkzeuge in Ihrem Arbeitsablauf werden Sie in Richtung moderner effizienter Softwareentwicklung führen.
IronSecureDoc: Hier können dokumentenspezifische Sicherheitsfunktionen hinzugefügt werden, einschließlich Dateiverschlüsselung, Zugriffskontrollen und Authentifizierung der Echtheit des Dokuments mithilfe digitaler Signaturen. Zusammen bieten Docker-Zertifikate und IronSecureDoc vollständige Sicherheitsmaßnahmen, 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 zu vielen der Produkte von Iron Software, folgen Sie diesem Library Suite Link.
Chaknith arbeitet an IronXL und IronBarcode. Er hat tiefgehende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Erkenntnisse aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentation und einem insgesamt besseren Erlebnis bei.
< PREVIOUS Coolify Docker Compose (Wie es für Entwickler funktioniert)
NÄCHSTES > So sichern Sie die PDF-API in Docker mit C#