UTILISATION D'IRONSECUREDOC

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.

Action de construction et de push Docker (Comment cela fonctionne pour les développeurs) : Figure 1 - Docker

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 :

  1. Configurer la connexion Docker : Authentification du registre de conteneurs pour pousser les images Docker en toute sécurité.

  2. Construction d'image : Exécute les commandes de construction Docker en utilisant un Dockerfile qui contient des instructions.

  3. 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"]
VB   C#

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
VB   C#

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.

Action de Construction et Pousser Docker (Comment cela 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 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
VB   C#

Docker Build Push Action(Comment cela 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 l'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
'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
VB   C#

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.

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

Nous pourrions également chiffrer un document en envoyant une requête à l'API IronSecureDoc comme suit :

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'
'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'
VB   C#

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.

< 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#