Agence web » Actualités du digital » Comment démarrer avec l’intégration et la livraison continues sur Google Cloud Platform –

Comment démarrer avec l’intégration et la livraison continues sur Google Cloud Platform –

Shutterstock / Ribkhan

L’intégration continue / la livraison continue (CI / CD) est le processus d’automatisation des mises à jour des applications, des modifications du contrôle de code source aux versions automatisées, 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 apportées à 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:

steps:
- name: string
  args: [string, string, ...]
  env: [string, string, ...]
  dir: string
  id: string
  waitFor: [string, string, ...]
  entrypoint: string
  secretEnv: string
  volumes: object(Volume)
  timeout: string (Duration format)
- name: string
  ...
- name: string
  ...
timeout: string (Duration format)
queueTtl: string (Duration format)
logsBucket: string
options:
 env: [string, string, ...]
 secretEnv: string
 volumes: object(Volume)
 sourceProvenanceHash: enum(HashType)
 machineType: enum(MachineType)
 diskSizeGb: string (int64 format)
 substitutionOption: enum(SubstitutionOption)
 logStreamingOption: enum(LogStreamingOption)
 logging: enum(LoggingMode)
substitutions: map (key: string, value: string)
tags: [string, string, ...]
secrets: object(Secret)
images:
- [string, string, ...]
artifacts: object (Artifacts)

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

steps:
# Install dependencies
- name: node
  entrypoint: npm
  args: ['install']
# Run tests
- name: node
  entrypoint: npm
  args: ['test']
# Run custom commands
- name: node
  entrypoint: npm
  args: ['run', 'build']
artifacts:
  objects:
    location: 'gs://mybucket/'
    paths: ['build']

La première touche, « Étapes », s’exécute npm install pour mettre les dépendances dans l’ordre, alors npm test pour exécuter les tests que vous avez configurés, puis npm run build pour démarrer le processus de construction. Une fois que cela est terminé, affichez les artefacts dans le build les dossiers sont envoyés à gs://mybucket/. Vous n’avez pas à déployer sur un compartiment de sortie cependant; Cloud Build prend en charge les déploiements sur GKE, Cloud Functions, 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 écrire un guide étape par étape pour tout le monde. Nous vous recommandons de lire la présentation de la configuration de Google pour en savoir 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.

Rendez-vous sur Cloud Source 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

Rendez-vous sur Cloud Build et cliquez sur « Configurer le déclencheur de build » 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 voudrez 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é.

★★★★★