KOHLER Simplice Single-Hole Pull-down Review & Conseils d'utilisation
31 octobre 2020
L'armoire d'arcade 'NBA Jam' prouve qu'Arcade1Up est (presque) en feu – Review Geek
31 octobre 2020

Shutterstock / Ribkhan

L'intégration continue / livraison continue (CI / CD) est le processus d'automatisation des mises à jour des applications, des modifications du contrôle de code source aux builds automatisés, en passant par les déploiements automatisés sur vos serveurs. GCP fournit un service pour cela, appelé Cloud Build.

Ecrire une configuration de construction

Le pipeline CI / CD présenté ici fonctionne assez simplement. GCP écoute les modifications de votre contrôle de code source, qu'il s'agisse de nouveaux commits sur une branche spécifique ou de nouvelles demandes d'extraction. Ensuite, il envoie la source à Cloud Build, qui exécute un ensemble de commandes pour tester et créer l'application, et envoie les artefacts de compilation de sortie vers App Engine, GKE, Cloud Functions ou un bucket Cloud Storage.

La plupart de la configuration de Cloud Build se déroule en fait en dehors de Cloud Build, dans un fichier YAML appelé cloudbuild.yaml. Cela définit les étapes de construction, les options et les paramètres de sortie. Le schéma ressemble à ceci:

pas:
- nom: chaîne
  args: (chaîne, chaîne, ...)
  env: (chaîne, chaîne, ...)
  dir: chaîne
  id: chaîne
  waitFor: (chaîne, chaîne, ...)
  point d'entrée: chaîne
  secretEnv: chaîne
  volumes: objet (Volume)
  timeout: chaîne (format de durée)
- nom: chaîne
  ...
- nom: chaîne
  ...
timeout: chaîne (format de durée)
queueTtl: string (format de durée)
logsBucket: chaîne
options:
 env: (chaîne, chaîne, ...)
 secretEnv: chaîne
 volumes: objet (Volume)
 sourceProvenanceHash: enum (HashType)
 machineType: enum (MachineType)
 diskSizeGb: chaîne (format int64)
 substitutionOption: enum (SubstitutionOption)
 logStreamingOption: enum (LogStreamingOption)
 journalisation: enum (LoggingMode)
substitutions: map (clé: chaîne, valeur: chaîne)
tags: (chaîne, chaîne, ...)
secrets: objet (Secret)
images:
- (chaîne, chaîne, ...)
artefacts: objet (artefacts)

Cependant, vous n’avez pas besoin de toutes ces options. Une configuration simple comme celle-ci créera une application NPM et la déploiera dans un bucket Cloud Storage:

pas:
# Installer les dépendances
- nom: nœud
  point d'entrée: npm
  args: ('installer')
# Exécuter des tests
- nom: nœud
  point d'entrée: npm
  args: ('test')
# Exécuter des commandes personnalisées
- nom: nœud
  point d'entrée: npm
  args: ('exécuter', 'construire')
artefacts:
  objets:
    emplacement: 'gs: // mybucket /'
    chemins: ('construire')

La première touche, "Étapes", s'exécute npm installer pour mettre les dépendances dans l'ordre, alors test npm pour exécuter les tests que vous avez configurés, puis npm run build pour démarrer le processus de construction. Une fois cette opération terminée, affichez les artefacts dans le construire les dossiers sont envoyés à gs: // mybucket /. Cependant, vous n'avez pas besoin de déployer sur un bucket de sortie; Cloud Build prend en charge les déploiements vers GKE, Fonctions cloud et Cloud Run, et App Engine.

En fin de compte, cette étape dépendra fortement du type d’application que vous créez. Nous ne pouvons donc pas rédiger de guide détaillé pour tout le monde. Nous recommandons lire la présentation de la configuration de Google pour apprendre plus.

Configurer Cloud Source et Cloud Build

Une fois que vous avez une configuration de build, vous pouvez configurer Cloud Build pour gérer les builds réels. Cloud Build tire sa source de Cloud Source, la propre solution Git hébergée de Google. Si vous souhaitez utiliser votre propre git, vous pouvez associer un compte externe ou simplement configurer Cloud Source en tant que version secondaire à distance.

Dirigez-vous vers Source du cloud et créez un nouveau référentiel. Vous pouvez vous connecter avec Github ou Bitbucket pour lier un compte externe et sélectionner un référentiel, ou simplement en créer un nouveau et l'ajouter en tant que télécommande secondaire.

lien référentiel externe

Dirigez-vous vers Cloud Build, puis cliquez sur «Configurer le déclencheur de construction» dans le tableau de bord.

configurer le déclencheur

Donnez-lui un nom, sélectionnez le référentiel source et choisissez quand vous voulez que ce déclencheur s'exécute. Vous pouvez déclencher en fonction des validations dans une certaine branche, de nouvelles balises ou des pull requests. Vous pouvez également utiliser regex pour faire correspondre les noms de branche.

sélectionner une succursale

Vous souhaiterez conserver la valeur par défaut ici pour le fichier de configuration Cloud Build, mais si vous lui avez donné un nom différent ou l'avez placé sous un chemin différent, vous pouvez le sélectionner ici. Vous avez également la possibilité de définir des variables personnalisées, ce qui vous permettra de réutiliser la configuration avec plusieurs déclencheurs sur différentes branches.

choisissez le fichier yaml de configuration de construction

Cliquez sur créer et le déclencheur apparaîtra dans le tableau de bord. Vous pouvez exécuter manuellement le déclencheur ici pour tester vos paramètres.

Une fois configuré, il s'exécutera automatiquement à chaque poussée vers la branche ou demande d'extraction, en fonction de ce que vous avez configuré.

//]]>