Passer au contenu du pied de page
UTILISATION DE IRONSECUREDOC

Docker Build Push Action (Comment cela fonctionne pour les développeurs)

Qu'est-ce que Docker?

Docker est un outil open-source puissant qui facilite la construction, le déploiement et la gestion d'applications en les plaçant dans des conteneurs portables et légers. Les conteneurs emballent une application et ses dépendances, y compris les bibliothèques, les fichiers de configuration, etc., de sorte qu'elle puisse même s'exécuter sur différents environnements. Cela élimine tous les problèmes de compatibilité, signifiant que l'application se comportera de la même manière sur le 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 efficacement les outils, en expédiant et en exécutant des conteneurs, gérant ainsi les ressources de manière plus simple.

Docker Build Push Action (Comment ça fonctionne pour les développeurs) : Figure 1 - Docker

Qu'est-ce qu'une image Docker?

Les images sont les plans du type Docker qui transportent les environnements d'exécution cohérents. Les développeurs peuvent utiliser des images prêtes à l'emploi à partir 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 pour plusieurs plateformes.

Pourquoi utiliser l'action Docker Build Push?

Automatisation sans friction

Construire et pousser des images Docker manuellement est exposé, sujet aux erreurs et chronophage. Automatiser ces étapes garantit la prévisibilité et ajoute des heures au résultat net, surtout lorsque l'équipe se développe 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 pushs de code, les pull requests ou un calendrier.

Construction standard d'images

L'automatisation garantit que chaque fois que des images Docker sont construites, elles sont identiques ; d'où la réduction des erreurs/écarts à travers plusieurs environnements tels que le développement, la mise en scène et la production.

Déploiement facile

Avec la construction automatique d'images Docker avec la construction, et leur poussée vers les référentiels, le déploiement peut devenir relativement facile. Des outils comme Kubernetes ou Docker Swarm peuvent être utilisés pour tirer ou construire des images multiplateformes directement à partir du registre Docker, réduisant ainsi le temps d'arrêt.

Comment fonctionne l'action Docker Build Push

L'action de construction et de poussée de Docker fait trois choses principales:

  1. Configurer la connexion Docker : Authentification du registre de conteneurs pour pousser en toute sécurité des images Docker.
  2. Construction d'image : Exécute des commandes de construction Docker en utilisant un Dockerfile qui contient des instructions.
  3. Pousser vers le registre : 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 identifiants de registre.

Implémenter l'action Docker Build Push

1 : Préparez votre référentiel

  • 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"]

2 : Ajouter les identifiants de registre en tant que secrets GitHub

Pour construire et pousser des images Docker vers un registre de conteneurs, vous avez besoin d'identifiants. Ajoutez-les en tant que secrets GitHub :

  • Allez dans les paramètres de votre référentiel sur GitHub.
  • Allez sur Secrets et Variables > Actions.

Ajoutez les secrets suivants :

  • USERNAME : Votre nom d'utilisateur Docker Hub.
  • PASSWORD: Votre jeton d'accès Docker Hub ou mot de passe.

Pour d'autres registres, c'est similaire mais parfois nécessite des identifiants supplémentaires, par exemple, AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY pour Amazon ECR.

3 : Créer un workflow GitHub Actions

Ajoutez la ligne ci-dessous dans le fichier de workflow YAML à .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.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

Pousser vers Main : Le workflow se déclenchera à chaque poussée qui se produit sur la branche principale.

Vérifier le code : Utilisez l'action actions/checkout pour vérifier le référentiel.

Connexion au registre : Authentifiez-vous avec Docker Hub en utilisant les secrets fournis.

Construire et pousser : Exécute l'action Docker Build Push pour construire l'image du répertoire actuel vers nomutilisateur/référentiel : latest.

Validez le fichier de workflow dans votre référentiel. Avec une simple poussée, le workflow se déclenchera pour construire l'image et la pousser dans le registre spécifié.

Qu'est-ce qu'IronSecureDoc ?

IronSecureDoc est un produit récemment développé par Iron Software spécifiquement conçu pour sécuriser les documents numériques, principalement les PDFs, à travers un cryptage et des contrôles très robustes. Cela permettra en outre à une organisation d'installer des protocoles de chiffrement avancés comme l'AES-256 afin que les informations sensibles dites 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, l'édition et la copie de celui-ci ont des restrictions avec des autorisations personnalisées. En outre, la protection par mot de passe et les signatures numériques améliorent la sécurité et l'intégrité dans les documents et le filigrane.

Docker Build Push Action (Comment ça fonctionne pour les développeurs) : Figure 2 - IronSecureDoc : Le serveur de sécurité et de conformité PDF

IronSecureDoc est convivial pour les développeurs et peut facilement accueillir des applications via Docker ou d'autres environnements de programmation, devant ainsi être capables de s'adapter à de nombreux flux de travail d'entreprise. Par exemple, dans les secteurs de la santé, financier et juridique, la confidentialité des documents est primordiale. IronSecureDoc combine les fonctionnalités de cryptage et de contrôle des documents au sein d'une organisation avec la garantie de leur sauvegarde, permettant la conformité, et un partage facile et sécurisé avec un partenaire ou un client extérieur.

Comment fonctionne IronSecureDoc

IronSecureDoc est distribué comme un conteneur Docker et expose les fonctionnalités de construction via des points de terminaison API qui le maintiendront évolutif et uniforme. Les développeurs tirent une image Docker pré-construite d'IronSecureDoc à partir d'un registre de conteneurs et l'incluent dans leurs applications.

Flux de travail de documents avec IronSecureDoc

  • Créez et poussez le conteneur IronSecureDoc en utilisant l'action Docker Build Push.
  • 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.

Installez et exécutez IronSecureDoc

Pour tirer l'image Docker IronSecureDoc depuis le référentiel GitHub ci-dessous, à 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
SHELL

Docker Build Push Action (Comment ça fonctionne pour les développeurs) : Figure 3 - Extraire l'image Docker

Après avoir extrait une image du conteneur Docker, nous avons une autre commande pour démarrer IronSecureDoc, un conteneur en fonctionnement.

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

La commande Docker run ci-dessus va créer une instance de conteneur de l'IronSecureDoc.

Utilisation d'IronSecureDoc

L'API REST d'IronSecureDoc a été abordée ailleurs, mais fondamentalement, elle permet à l'utilisateur de rédiger, certifier et crypter des documents dès l'installation et le démarrage de Docker. Voici le lien vers la documentation.

Docker Build Push Action (Comment ça fonctionne pour les développeurs) : Figure 4 - API REST

Nous pourrions également crypter un document en postant à l'API IronSecureDoc comme ceci :

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

Cela acheminera automatiquement le document dans IronSecureDoc, où il sera correctement crypté.

Conclusion

Tout commence avec Docker Build Push Action et IronSecureDoc. Ils fusionnent deux outils puissants permettant de containeriser les flux de travail avec un développement automatisé. Docker Build Push Action prend en charge la construction et le 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 repose sur des pipelines rationalisés des développeurs et des performances fiables à travers les environnements. Que vous gériez un déploiement d'applications ou de documents sensibles sécurisés, ces outils dans votre flux de travail vous propulsent vers le 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 cryptage des 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 fournissent une sécurité de cycle complet, protégeant tout, de l'infrastructure aux données sensibles stockées. Pour en savoir plus sur la licence d'IronSecureDoc, visitez la page de la licence. Pour obtenir des informations sur de nombreux produits d'Iron Software, suivez ce lien de la suite de bibliothèque.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Qu'est-ce que Docker ?

Docker est une plateforme open-source qui simplifie la construction, le déploiement et la gestion des applications en utilisant des containers. Ces containers packagent les applications avec leurs dépendances, assurant un comportement cohérent à travers différents environnements.

Comment Docker Build Push Action simplifie-t-il les processus de workflow ?

Docker Build Push Action automatise la construction et le push des images Docker dans les dépôts GitHub, réduisant les erreurs et gagnant du temps. Il crée des workflows déclenchés par des événements comme les push de code ou les pull requests.

Pourquoi Docker est-il utile pour les développeurs ?

Docker est utile pour les développeurs car il encapsule les applications dans des containers, garantissant des performances cohérentes et atténuant les problèmes de compatibilité entre différents environnements. Cela simplifie les processus de développement, de déploiement et de gestion.

Quels sont les avantages à utiliser des containers Docker ?

Les containers Docker offrent des avantages tels que la portabilité, l'évolutivité et la cohérence à travers les environnements. Ils encapsulent les applications avec leurs dépendances, ce qui réduit les problèmes de compatibilité et améliore l'efficacité du déploiement.

Comment IronSecureDoc assure-t-il la sécurité des documents ?

IronSecureDoc sécurise les documents numériques en utilisant des techniques de chiffrement robustes comme AES-256, ainsi que des fonctionnalités telles que la protection par mot de passe et les signatures numériques. Il est particulièrement utile dans les secteurs nécessitant une haute confidentialité, comme la santé et la finance.

IronSecureDoc peut-il être intégré dans les workflows existants ?

Oui, IronSecureDoc peut être intégré dans les workflows existants puisqu'il fonctionne comme un container Docker et offre des fonctionnalités via des endpoints API. Cela le rend flexible et facile à utiliser dans divers scénarios de déploiement.

Comment Docker Build Push Action améliore-t-il l'efficacité du déploiement ?

Docker Build Push Action améliore l'efficacité du déploiement en automatisant le processus de construction et de push des images Docker, assurant une création d'images cohérente, et réduisant les temps d'arrêt grâce à l'intégration avec des plateformes comme Kubernetes.

Quel est le rôle des images Docker dans le déploiement d'applications ?

Les images Docker servent de plans pour les containers, contenant l'application et ses dépendances. Elles assurent la cohérence à travers différents environnements, ce qui les rend cruciales pour un déploiement d'application fiable.

Comment automatiser la construction d'images Docker avec GitHub Actions ?

Pour automatiser la construction d'images Docker avec GitHub Actions, créez un fichier de workflow qui spécifie les déclencheurs comme les push de code, utilise les actions de connexion et de construction Docker, et pousse l'image construite vers un registre. Cette automatisation simplifie le processus de construction et de déploiement.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite