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()
Action Docker Build Push (Comment cela fonctionne pour les développeurs)
Publié janvier 14, 2025
Partager:
Qu'est-ce que Docker ?
Dockerest une puissance open-source qui facilite la création, le déploiement et la gestion d'applications en les plaçant dans des conteneurs légers et portables. Les conteneurs emballent une application et ses dépendances, y compris les bibliothèques, les fichiers de configuration, etc., afin qu'elle puisse même s'exécuter dans différents environnements. Cela élimine tous les problèmes de compatibilité, ce qui signifie que l'application fonctionnera de la même manière sur l'ordinateur portable d'un développeur que sur un serveur ou dans le cloud. Il simplifie le processus de développement, de test et de mise à l'échelle en construisant les outils efficacement, en les expédiant et en les exécutant.conteneurs, gérant ainsi les ressources de manière plus simple.
Qu'est-ce qu'une image Docker ?
Les images sont les plans de type Docker qui contiennent les environnements d'exécution cohérents. Les développeurs peuvent utiliser des images prêtes à l'emploi de Docker Hub, un registre public, ou créer leurs propres images Docker. Des outils comme Docker Compose et Kubernetes étendent encore plus les capacités de Docker en ajoutant des orchestrations simples de configurations multi-conteneurs ou en gérant des besoins de mise à l'échelle complexes sur davantage de plateformes.
Pourquoi utiliser l'action Docker Build Push ?
Automatisation sans friction
La création et le déploiement manuel d'images Docker est risqué, sujet aux erreurs et prend beaucoup de temps. L'automatisation de ces étapes garantit la prévisibilité et ajoute des heures au bénéfice net, surtout lorsque l'équipe s'agrandit ou que les mises à jour sont plus fréquentes.
Intégration sans friction
L'action Docker Build Push fonctionne directement avec les dépôts GitHub pour créer des flux de travail autour d'événements tels que les envois de code, les demandes de tirage ou un programme.
Construction standard d'images
L'automatisation garantit que chaque fois que des images Docker sont construites, elles sont identiques. par conséquent, réduire les erreurs/discrépances à travers plusieurs environnements tels que développement, préproduction et production.
Déploiement Facile
Avec la création automatisée d'images Docker avec la construction, et leur envoi vers les référentiels, le déploiement peut devenir relativement facile. Des outils comme Kubernetes ou Docker Swarm peuvent être utilisés pour extraire ou construire des images multiplateformes directement depuis le registre Docker, réduisant ainsi le temps d'arrêt.
Comment fonctionne l'action Docker Build Push
L'action Build and Push Docker effectue trois tâches principales :
Configurer la connexion Docker : Authentification du registre de conteneurs pour pousser les images Docker en toute sécurité.
Construction d'image : Exécute les commandes de construction Docker en utilisant un Dockerfile qui contient des instructions.
Push vers le registre : Cela pousse l'image construite vers un registre de conteneurs cible.
Ces étapes sont définies dans un fichier de workflow GitHub Actions.(.github/workflows/your-workflow.yml), où vous spécifiez les déclencheurs, les configurations de construction et les informations d'identification du registre.
Mettre en œuvre l'action Docker Build Push
1 : Préparer votre dépôt
Ajoutez un Dockerfile décrivant l'application containerisée.
Ajoutez tous les fichiers de configuration ou scripts nécessaires pour la construction.
# 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 : Ajouter les informations d'identification du registre en tant que secrets GitHub
Pour créer et pousser des images Docker vers un registre de conteneurs, vous avez besoin d'identifiants. Ajoutez-les en tant que Secrets GitHub :
Accédez aux paramètres de votre dépôt sur GitHub.
Accédez à Secrets et Variables > Actions.
Ajoutez les secrets suivants :
NOM D'UTILISATEUR : Votre nom d'utilisateur Docker Hub.
MOT DE PASSE : Votre jeton d'accès Docker Hub ou mot de passe.
Pour d'autres registres, c'est similaire mais nécessite parfois des informations d'identification supplémentaires, par exemple, AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY pour Amazon ECR.
3 : Créer un flux de travail GitHub Actions
Ajoutez la ligne ci-dessous dans le fichier de workflow YAML dans .github/workflows/docker-build-push.yml.
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
Push vers Main : Le workflow se déclenchera à chaque push qui se produit sur la branche principale.
Code de retrait : Utilisez l'action actions/checkout pour vérifier le dépôt.
Connexion au registre : Authentifiez-vous auprès de Docker Hub en utilisant les identifiants fournis.
Construire et Pousser : Il exécute l'action Docker Build Push qui créera l'image à partir du répertoire actuel jusqu'au contexte et la poussera vers username/repository: latest.
Commitez le fichier de workflow à votre dépôt. Avec une simple activation, le flux de travail se déclenchera pour construire l'image et la pousser dans le registre spécifié.
Qu'est-ce qu'IronSecureDoc ?
IronSecureDocest un produit nouvellement développé par Iron Software conçu spécifiquement pour sécuriser les documents numériques, principalement les PDFs, grâce à un chiffrement et des contrôles très robustes. Cela permettra en outre à une organisation d'installer des protocoles de chiffrement avancés comme AES-256 afin que les informations sensibles ne puissent pas être consultées sans autorisation. Cela signifie que ledit document ne peut être ouvert que par l'utilisateur autorisé, car l'impression, la modification et la copie de celui-ci sont soumises à des restrictions ainsi qu'à des autorisations personnalisées. De plus, la protection par mot de passe et les signatures numériques renforcent la sécurité et l'intégrité des documents ainsi que le filigranage.
IronSecureDoc est convivial pour les développeurs et peut héberger confortablement des applications via Docker ou d'autres environnements de programmation, il devrait donc pouvoir s'adapter à de nombreux flux de travail d'entreprise. Par exemple, dans les secteurs de la santé, de la finance et du droit, la confidentialité des documents est primordiale. IronSecureDoc combine les fonctionnalités de cryptage et de contrôle des documents au sein d'une organisation tout en garantissant une sécurité qui permet la conformité, un partage facile et sûr avec un partenaire ou un client externe.
Fonctionnement d'IronSecureDoc
IronSecureDoc est distribué sous forme de conteneur Docker et offre un accès aux fonctionnalités de construction via des points d'extrémité API, ce qui le rendra évolutif et uniforme. Les développeurs récupèrent une image Docker pré-construite de IronSecureDoc à partir d'un registre de conteneurs et l'intègrent dans leurs applications.
Flux de documents avec IronSecureDoc
Créer et pousser le conteneur IronSecureDoc en utilisant Docker Build Push Action.
Déploiement du même conteneur sur une plateforme cloud comme AWS ECS ou Kubernetes.
Intégrez votre application pour communiquer avec IronSecureDoc pour toute opération sur les documents.
Installer et exécuter IronSecureDoc
Pour récupérer l'image Docker de IronSecureDoc depuis le dépôt GitHub ci-dessous, dans l'invite de commande ou dans une fenêtre de terminal ouverte, exécutez la commande suivante.
docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
$vbLabelText $csharpLabel
Après avoir extrait une image du conteneur Docker, nous avons une autre commande pour démarrer l'IronSecureDoc, un conteneur en fonctionnement.
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
$vbLabelText $csharpLabel
La commande Docker run ci-dessus créera une instance de conteneur de l'IronSecureDoc.
Utilisation d'IronSecureDoc
L'API REST d'IronSecureDoc a été discutée ailleurs, mais fondamentalement, elle permet à l'utilisateur de caviarder, certifier et chiffrer des documents directement après l'installation et le démarrage de Docker. Voici lelienà la documentation.
Nous pourrions également chiffrer un document en envoyant une requête à l'API IronSecureDoc comme suit :
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
$vbLabelText $csharpLabel
Cela acheminera automatiquement le document dans IronSecureDoc, où il sera correctement chiffré.
Conclusion
Tout commence avec Docker Build Push Action et IronSecureDoc. Ils fusionnent deux outils très puissants qui permettent de conteneuriser les flux de travail avec un développement automatisé et évolutif tout en étant sécurisé. Docker Build Push Action s'occupe de la construction et du déploiement automatisés dans le processus de développement des images de conteneurs, et IronSecureDoc gère la sécurité robuste des documents au sein de ces conteneurs. Tout se résume à des pipelines rationalisés pour les développeurs et à des performances fiables dans tous les environnements. Que vous gériez un déploiement d'applications ou sécurisiez des documents sensibles, ces outils dans votre flux de travail sont sur le point de vous orienter vers un développement logiciel moderne et efficace.
IronSecureDoc : où des fonctionnalités de sécurité spécifiques aux documents peuvent être ajoutées, y compris le chiffrement de fichiers, les contrôles d'accès et l'authentification de l'authenticité du document à l'aide de signatures numériques. Ensemble, les certificats Docker et IronSecureDoc offrent une sécurité complète du cycle, protégeant tout, de l'infrastructure aux données sensibles stockées. Pour en savoir plus sur la licence de IronSecureDoc, visitez le page d'autorisation. Pour obtenir des informations sur plusieurs produits d'Iron Software, suivez celien de la suite de bibliothèques.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< PRÉCÉDENT Coolify Docker Compose (Comment cela fonctionne pour les développeurs)
SUIVANT > Comment sécuriser l'API PDF dans Docker en utilisant C#
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier