Introduction à DevOps

Découvrez comment prendre en main le service DevOps et les prérequis pour son utilisation.

Prérequis

Avant de commencer à utiliser le service DevOps, vous devez respecter les prérequis suivants :

  • Vous devez avoir accès à une location Oracle Cloud Infrastructure.
  • Chaque service d'Oracle Cloud Infrastructure (OCI) s'intègre à Identity and Access Management (IAM) pour l'authentification et l'autorisation, pour toutes les interfaces (console, kit SDK et interface de ligne de commande, et API REST). Les droits d'accès sont accordés aux utilisateurs d'un compartiment spécifique. Vous pouvez créer un compartiment ou en réutiliser un existant. Reportez-vous à Gestion des compartiments.
  • Un administrateur de votre organisation doit configurer des groupes, des compartiments  et des stratégies  qui déterminent les services et les ressources auxquels les utilisateurs peuvent accéder, ainsi que le type d'accès. Reportez-vous à Authentification et autorisation.

Configuration de groupes et d'utilisateurs

  1. Créez un groupe ou utilisez un groupe existant dans votre location.

    Les utilisateurs de ce groupe sont autorisés à gérer le service DevOps.

  2. Créez des utilisateurs et ajoutez-les au groupe, ou ajoutez des utilisateurs existants au groupe.
  3. Générez un jeton d'authentification pour chaque utilisateur qui utilise Git afin d'interagir avec les référentiels de code. Vous pouvez également utiliser des clés de signature d'API.

    Les jetons d'authentification sont des informations d'identification utilisateur. Il s'agit de chaînes de jeton générées par Oracle que vous pouvez utiliser pour l'authentification auprès d'API tierces ne prenant pas en charge l'authentification basée sur une signature d'OCI. Le jeton d'authentification permet l'authentification auprès d'OCI sur la ligne de commande lors de l'exécution d'opérations Git. Les administrateurs peuvent créer des jetons d'authentification et les distribuer à d'autres utilisateurs. Les jetons d'authentification n'expirent pas. Chaque utilisateur peut avoir jusqu'à deux jetons d'authentification à la fois. Pour plus d'informations, reportez-vous à Gestion des informations d'identification utilisateur.

Configuration de l'accès aux ressources DevOps

Pour accorder aux utilisateurs l'accès aux différentes ressources DevOps, telles que les pipelines de build, les pipelines de déploiement, les artefacts et les référentiels de code, vous devez créer des groupes dynamiques et des stratégies IAM. Reportez-vous à Gestion des groupes dynamiques et à Introduction aux stratégies.

Pour créer des groupes dynamiques et des stratégies, reportez-vous aux exemples suivants :

Pour plus de détails, reportez-vous à Stratégies IAM DevOps.

Intégration à des référentiels de code externes

Avec le service OCI DevOps, vous pouvez créer une connexion à des référentiels externes tels que GitHub, GitLab, Bitbucket Cloud, Bitbucket Server, GitLab Server et Visual Builder Studio. Voici les différentes méthodes d'intégration :

Remarque

Ce processus est requis uniquement pour l'intégration à des référentiels de code tiers et non pour l'intégration au référentiel de code OCI DevOps.

Configuration de notifications et de sujets

Les notifications de projet vous tiennent informé des événements importants et du statut le plus récent du projet DevOps. Elles vous alertent également si vous devez prendre des mesures nécessaires, par exemple approuver un workflow. Vous devez créer un sujet et ajouter un abonnement au sujet. Pour créer un sujet, reportez-vous à Création d'un sujet. Lors de la création du projet DevOps, le sujet est requis.

Configuration d'un référentiel

Le service DevOps utilise un référentiel OCI Container Registry ou un référentiel OCI Artifact Registry pour stocker les artefacts de build terminés. Vous pouvez créer l'un de ces référentiels.

Création d'un jeton d'authentification

Les jetons d'authentification sont des informations d'identification utilisateur. Il s'agit de chaînes de jeton générées par Oracle que vous pouvez utiliser pour l'authentification auprès d'API tierces ne prenant pas en charge l'authentification basée sur une signature d'Oracle Cloud Infrastructure. Pour utiliser Git, un jeton d'authentification est requis afin d'interagir avec les référentiels de code.

Découvrez comment créer un jeton d'authentification à l'aide de la console Oracle Cloud.

  1. Si vous créez un jeton d'authentification pour vous-même, procédez comme suit :
    • Connectez-vous à la console.
    • Dans la barre de navigation, sélectionnez le menu Profil (Icône du menu Profil, puis sélectionnez Paramètres utilisateur ou Mon profil, selon l'option que vous voyez.
  2. Si vous êtes un administrateur et que vous créez un jeton d'authentification pour un autre utilisateur, procédez comme suit :
    • Ouvrez le menu de navigation et cliquez sur Identité et sécurité.
    • Sous Identité, cliquez sur Utilisateurs.
    • Recherchez l'utilisateur dans la liste, puis cliquez sur son nom pour afficher ses détails.
  3. Sous Ressources, cliquez sur Jetons d'authentification.
  4. Cliquez sur Créer un jeton.
  5. Saisissez une description indiquant à quoi correspond ce jeton, par exemple Jeton d'autorisation d'Anne à utiliser avec le référentiel de code DevOps . Evitez de saisir des informations confidentielles.
  6. Cliquez sur Créer un jeton.

    La nouvelle chaîne de jeton apparaît. Par exemple, Dm___________6MqX.

  7. Copiez immédiatement le jeton d'authentification vers un emplacement sécurisé à partir duquel vous pourrez l'extraire ultérieurement car il ne s'affichera plus dans la console.
  8. Fermez la boîte de dialogue Générer un jeton.

Pour plus d'informations, reportez-vous à Utilisation des jetons d'authentification.

Intégration d'une source de build

Découvrez comment intégrer des référentiels de code OCI à des référentiels de code tiers comme GitHub, GitLab et Visual Builder Studio.

  1. Extrayez un jeton d'accès personnel à partir du service d'hébergement du référentiel de code tiers en procédant comme suit :
  2. Stockez le jeton d'accès personnel extrait en toute sécurité dans un coffre OCI.
    Vous pouvez réutiliser des coffres existants de la location, ou créer un coffre, une clé de cryptage maître et une clé secrète. Pour obtenir des instructions, reportez-vous à Stockage de jeton d'accès personnel dans un coffre.
    Remarque

    Chaque location est limitée à 10 coffres et chaque coffre peut stocker plusieurs clés secrètes.

    Les variables de coffre ne peuvent pas être remplacées de manière dynamique. Seuls les ID Oracle Cloud (OCID) de la clé secrète du coffre sont pris en charge.

  3. Créez une stratégie de clé secrète de coffre dans le compartiment racine pour autoriser le groupe dynamique à gérer les clés secrètes. Reportez-vous à Présentation de Vault et à Gestion des clés secrètes. Par exemple :
    Allow dynamic-group <dynamic_group_name> to manage secret-family in tenancy
    Remarque

    Ce processus est requis uniquement pour l'intégration à des référentiels de code tiers et non pour l'intégration au référentiel de code OCI DevOps.

Génération d'un jeton d'accès personnel GitHub

  1. Sur la page d'accueil GitHub, cliquez sur l'image de profil dans l'angle supérieur droit, puis sur Paramètres.
  2. Dans le menu latéral de gauche, cliquez sur Paramètres de développeur.
  3. Dans le menu latéral de gauche, cliquez sur Jetons d'accès personnels, puis sur Jetons (classiques).
  4. Cliquez sur le lien Générer un jeton d'accès personnel.
  5. Notez le motif de génération du jeton.
  6. Sélectionnez la période d'expiration du jeton à partir des options indiquées.
  7. Pour les portées, afin de permettre au service DevOps de lire le code à partir des référentiels privés, sélectionnez Contrôle complet des référentiels privés.

    Pour accéder au code uniquement à partir de référentiels publics, sélectionnez la portée public_repo.

  8. Cliquez sur Générer un jeton.

    Copiez immédiatement le jeton vers un emplacement sécurisé car vous ne pourrez plus l'extraire une fois que vous aurez quitté la page.

Génération d'un jeton d'accès personnel GitLab

  1. Sur la page d'accueil GitLab, cliquez sur l'image de profil dans l'angle supérieur droit, puis sur Modifier le profil.
  2. Dans le menu latéral de gauche, cliquez sur Jetons d'accès.
  3. Saisissez le nom et éventuellement la date d'expiration du jeton.
  4. Pour les portées, sélectionnez read_api.
  5. Cliquez sur Créer un jeton d'accès personnel.

    Copiez immédiatement le jeton vers un emplacement sécurisé car vous ne pourrez plus l'extraire une fois que vous aurez quitté la page.

Génération d'un mot de passe d'application pour Bitbucket Cloud

Découvrez comment procéder à l'intégration à Bitbucket Cloud et établir une connexion permettant d'utiliser des référentiels Bitbucket dans le pipeline de build.

  1. Sur la page d'accueil Bitbucket, cliquez sur votre profil dans l'angle supérieur droit, puis sur Paramètres personnels.
  2. Dans les paramètres de profil Bitbucket, notez votre nom utilisateur.
  3. Dans le menu de gauche, cliquez sur Mots de passe d'application, puis sur Créer un mot de passe d'application.
  4. Entrez le libellé (nom) du mot de passe.
  5. Cochez les cases suivantes concernant les droits d'accès :
    • Compte : lecture
    • Appartenance à un espace de travail : lecture
    • Projets : lecture
    • Demandes d'extraction : lecture
    • Webhooks : lecture et écriture
  6. Cliquez sur Créer.

    Copiez immédiatement le mot de passe d'application vers un emplacement sécurisé car vous ne pourrez plus l'extraire une fois que vous aurez quitté la page.

Vous devez stocker le mot de passe d'application dans un coffre Oracle Cloud Infrastructure (OCI). OCI Vault est un service géré vous permettant de gérer de manière centralisée les clés de cryptage qui protègent vos données et les informations d'identification de clé secrète utilisées pour accéder en toute sécurité aux ressources.

Vous pouvez réutiliser des coffres existants de la location, ou créer un coffre, une clé de cryptage maître et une clé secrète.
Remarque

Chaque location est limitée à 10 coffres et chaque coffre peut stocker plusieurs clés secrètes.

Stockage de jeton d'accès personnel dans un coffre

Avant de commencer, extrayez un jeton d'accès personnel à partir du service d'hébergement du référentiel de code tiers.

  1. Ouvrez le menu de navigation dans la console Oracle Cloud, cliquez sur Identité et sécurité, puis sur Coffre.
  2. Sous Portée de la liste, dans la liste Compartiment, cliquez sur le nom du compartiment dans lequel vous souhaitez créer le coffre.
  3. Cliquez sur Créer un coffre et entrez le nom d'affichage du coffre.
  4. Lorsque vous avez terminé, cliquez sur Créer un coffre.
  5. Afin de créer la clé de cryptage maître utilisée pour crypter le jeton d'accès personnel, cliquez sur le nom du coffre créé à l'étape 4.
  6. Cliquez sur Clés de cryptage maître, puis sur Créer une clé.
    Vous pouvez importer les informations et versions de clé dont vous disposez déjà dans le coffre créé à l'étape 4. La clé doit être symétrique car vous ne pouvez pas crypter des clés secrètes de coffre avec des clés asymétriques. Pour plus d'informations, reportez-vous à Gestion des clés.
  7. Pour créer une clé secrète utilisée pour stocker le jeton d'accès personnel, cliquez sur le nom du coffre créé à l'étape 4.
  8. Entrez le nom de la clé secrète.
  9. Choisissez la clé de cryptage maître créée à l'étape 5 pour crypter le contenu de la clé secrète.
  10. Indiquez le format du contenu de clé secrète que vous fournissez en choisissant un type de modèle dans la liste Modèle de type de clé secrète.
    Vous pouvez fournir le contenu de clé secrète en texte brut lorsque vous utilisez la console pour créer une clé secrète de coffre ou une version de clé secrète de coffre, mais le contenu de clé secrète doit être encodé en base64 avant d'être envoyé au service. La console encode automatiquement le contenu de clé secrète en texte brut. Pour plus d'informations, reportez-vous à Gestion des clés secrètes.
  11. Cliquez sur Contenu de clé secrète, puis saisissez le contenu du jeton d'accès personnel.
  12. Lorsque vous avez terminé, cliquez sur Créer une clé secrète.
Le jeton d'accès personnel est stocké en toute sécurité dans le coffre OCI.

Utilisation du service DevOps

Une fois les prérequis respectés, suivez les étapes ci-après afin d'utiliser le service DevOps pour l'intégration, la distribution et le déploiement continus de votre logiciel vers des plates-formes de calcul OCI :

  1. Créez un projet DevOps pour regrouper les ressources nécessaires à l'implémentation de votre application d'intégration continue et de déploiement continu.
  2. Créez un référentiel de code OCI ou intégrez des référentiels de code externes tels que GitHub, GitLab et Bitbucket Cloud. Reportez-vous à la section Mise en miroir d'un référentiel.
  3. Créez un pipeline de build contenant les phases qui définissent le processus de build pour la compilation, le test et l'exécution des applications logicielles avant le déploiement.
  4. Ajoutez une phase de build géré au pipeline de build pour tester l'application logicielle.

    Sélectionnez un référentiel de code OCI ou un référentiel de code externe (GitHub, GitLab, Bitbucket Cloud, Bitbucket Server et GitLab Server) en tant que référentiel de code principal pour le build.

  5. Pour stocker la sortie de la phase de build géré, vous avez besoin d'un référentiel OCI Container Registry ou d'un référentiel OCI Artifact Registry.

    DevOps prend en charge les applications stockées dans les référentiels OCI Container Registry et OCI Artifact Registry. Le référentiel Container Registry permet de stocker des images Docker et des charts Helm, et le référentiel Artifact Registry permet de stocker des packages logiciels génériques.

  6. Créez un artefact DevOps de façon à pointer vers l'emplacement de référentiel contenant la sortie de build.

    Un paramètre dans l'URI d'artefact définit la version d'application logicielle distribuée au référentiel de code OCI.

  7. Ajoutez une phase de distribution d'artefacts au pipeline de build après avoir ajouté la phase de build géré.

    La phase de distribution d'artefacts met en correspondance les sorties de build de la phase de build géré avec la version à distribuer à une ressource d'artefact DevOps, puis au référentiel de code OCI.

  8. Démarrez le processus de build en exécutant manuellement un pipeline de build DevOps.

    L'exécution manuelle utilise la dernière validation du référentiel de code ajouté au build. Vous pouvez exécuter le build en fonction d'une validation spécifique en notant les détails de validation.

    Vous pouvez également déclencher automatiquement une exécution de build lorsque vous validez les modifications apportées au référentiel de code.

  9. Créez un environnement cible pris en charge par DevOps, s'il n'existe pas dans la console Oracle Cloud. Les environnements pris en charge sont les cluster de moteur Kubernetes, les instances de calcul (Oracle Linux et CentOS uniquement) et les applications de fonction.
  10. Créez une référence à l'environnement cible pour le déploiement.
  11. Créez un pipeline de déploiement pour distribuer la sortie de build à l'environnement cible.

    DevOps prend en charge le déploiement vers des clusters Kubernetes, des groupes d'instances et des applications Functions.

  12. Ajoutez une phase de déclenchement de déploiement pour déclencher automatiquement un déploiement à partir du pipeline de build ou exécuter le pipeline de déploiement.