Je vais mettre en place un pipeline CI/CD avec Docker et rollback

Certaines informations ont été traduites automatiquement.

Vietnam

Je parle Anglais

Ingénieur DevOps

Je suis un ingénieur DevOps basé dans la région de Hanoi avec plus de quatre ans d’expérience professionnelle. Mon expertise porte sur la gestion d’infrastructures et de déploiements avec des outils c...
À propos de ce service

Pousser sur la branche principale. Il construit, teste, déploie et si ça échoue, une commande remet l'ancienne version.

Ce dernier point manque à la plupart des pipelines.

CE QUE JE CONSTRUIS

  • GitLab CI, GitHub Actions, Bitbucket ou Jenkins, selon ce que vous utilisez déjà
  • Construction, test, et push d'image Docker vers votre registre
  • Images taguées par le SHA du commit, pour que chaque déploiement soit traçable et réversible
  • Déploiement automatique sur votre serveur, avec une étape d'approbation manuelle pour la production
  • Un script de rollback testé qui vous ramène à la version précédente fonctionnelle
  • Cache des dépendances, pour que le pipeline s'exécute en moins de deux minutes, pas dix
  • Secrets stockés dans votre gestionnaire de secrets CI, jamais dans le YAML

COMMENT JE PRÉUVE QUE ÇA FONCTIONNE Avant la livraison, je réalise trois tests devant vous : un déploiement réussi, une build volontairement cassée qui ne déploie pas, et un rollback complet. Vous recevez des captures d'écran des trois.

POURQUOI LE TAGGING EST IMPORTANT La plupart des pipelines bon marché déploient le tag "latest". Cela signifie qu'il n'y a pas d'ancien artefact vers lequel revenir, donc le rollback devient impossible quand c'est crucial. Je tag chaque image par commit, pour que vous puissiez toujours revenir à un état connu et stable.

Je fais tourner GitLab CI, Jenkins et ArgoCD en production tous les jours. Contactez-moi avec votre configuration

Outils:

GitLab

Jenkins

GitHub

BitBucket

Hashicorp Vault

Frameworks:

Npm

Terraform

Pulumi

Ansible

Chef

Fournisseur de services cloud:

Amazon Web Services

Langage de programmation:

Bash

C

Java

JavaScript

PHP

Python

Ruby

Expertise:

Installation

Débogage

Développement

Mon portfolio

Autres services de Ingénierie DevOps I Offre