Introduction à DevOps

Voyez comment démarrer avec le service DevOps et prenez connaissances des préalables à son utilisation.

Préalables

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

  • Vous devez avoir accès à une location Oracle Cloud Infrastructure.
  • Chaque service d'Oracle Cloud Infrastructure est intégré avec le service de gestion des identités et des accès (GIA) aux fins d'authentification et d'autorisation, pour toutes les interfaces (console, trousse SDK et interface de ligne de commande et API REST). Les autorisations d'accès sont fournies aux utilisateurs d'un compartiment donné. Vous pouvez créer un compartiment ou réutiliser un compartiment existant. Voir Gestion des compartiments.
  • Un administrateur de votre organisation doit configurer des groupes, des compartiments  et des politiques  qui déterminent quels utilisateurs peuvent accéder à quels services et ressources, ainsi que le type d'accès dont ils disposent. Voir 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 interagit avec vos référentiels de code à l'aide de Git. Vous pouvez également utiliser des clés de signature d'API.

    Les jetons d'authentification sont une forme de données d'identification d'utilisateur. Il s'agit de chaînes de jeton générées par Oracle, que vous pouvez utiliser pour vous authentifier auprès d'API de tierce partie qui ne prennent pas en charge l'authentification basée sur les signatures d'OCI. Le jeton d'authentification est utilisé pour l'authentification auprès d'OCI à partir de la ligne de commande lors de l'exécution d'opérations Git. Les administrateurs peuvent créer et distribuer des jetons d'authentification à d'autres utilisateurs. Les jetons d'authentification n'expirent pas. Chaque utilisateur peut posséder jusqu'à deux jetons d'authentification à la fois. Pour plus d'informations, voir Gestion des données d'identification d'utilisateur.

Configuration de l'accès aux ressources DevOps

Pour octroyer aux utilisateurs l'autorisation d'accéder aux différentes ressources DevOps, telles que les pipelines de compilation, les pipelines de déploiement, les artefacts et les référentiels de code, vous devez créer des groupes dynamiques et des politiques GIA. Voir Gestion des groupes dynamiques et Introduction aux politiques.

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

Pour plus de détails, voir Politiques GIA pour DevOps.

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

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

Note

Ce processus est requis uniquement pour l'intégration avec des référentiels de code de tierce partie, et non avec le référentiel de code DevOps OCI.

Configuration d'avis et de sujets

Les avis du projet vous permettent d'être informé des événements importants et du statut du projet. Ils vous avertissent également si vous devez entreprendre une action requise telle que l'approbation d'un flux de travail. Vous devez créer un sujet  et ajouter un abonnement  à ce sujet. Pour créer un sujet, voir Création d'un sujet. Le sujet est requis lors de la création de votre projet DevOps.

Configuration d'un référentiel

Le service DevOps utilise un référentiel du registre de conteneurs ou un référentiel du registre d'artefacts OCI pour stocker les artefacts de compilation terminés. Vous pouvez créer l'un ou l'autre de ces référentiels.

Création d'un jeton d'authentification

Les jetons d'authentification sont une forme de données d'identification d'utilisateur. Il s'agit de chaînes de jeton générées par Oracle, que vous pouvez utiliser pour vous authentifier auprès d'API de tierce partie qui ne prennent pas en charge l'authentification basée sur les signatures d'Oracle Cloud Infrastructure. Un jeton d'authentification est requis pour utiliser Git pour interagir avec vos référentiels de code.

Voyez 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 :
    • Connectez-vous à la console.
    • Dans la barre de navigation, sélectionnez le menu Profil (Icône du menu Profil, puis sélectionnez Paramètres de l'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 :
    • Ouvrez le menu de navigation et cliquez sur Identité et sécurité.
    • Sous Identité, cliquez sur Utilisateurs.
    • Localisez l'utilisateur dans la liste, puis cliquez sur son nom pour voir ses détails.
  3. Sous Ressources, cliquez sur Jetons d'authentification.
  4. Cliquez sur Créer un jeton.
  5. Entrez une description qui indique ce à quoi ce jeton est destiné, par exemple Anne's auth token for use with DevOps code repository. Évitez d'entrer des informations confidentielles.
  6. Cliquez sur Créer un jeton.

    La nouvelle chaîne de jeton s'affiche. 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 n'apparaîtra plus dans la console.
  8. Fermez la boîte de dialogue Générer un jeton.

Pour plus d'informations, voir Utilisation de jetons d'authentification.

Intégration de sources de compilation

Voyez comment intégrer vos référentiels de code OCI avec des référentiels de code de tierce partie tels que GitHub, GitLab et Visual Builder Studio.

  1. Extrayez un jeton d'accès personnel du service d'hébergement du référentiel de code de tierce partie comme suit :
  2. Stockez le fichier de jeton d'accès personnel extrait de manière sécurisée dans une chambre forte OCI.
    Vous pouvez réutiliser des chambres fortes qui existent dans votre location ou créer une chambre forte, une clé de chiffrement principale et une clé secrète. Pour obtenir des instructions, voir Stockage d'un jeton d'accès personnel dans le service de chambre forte.
    Note

    Chaque location a une limite de 10 chambres fortes et chaque chambre forte peut stocker plusieurs clés secrètes.

    Les variables de chambre forte ne peuvent pas être remplacées dynamiquement. Seuls les ID Oracle Cloud (OCID) de clé secrète de chambre forte sont pris en charge.

  3. Créez une politique de clé secrète de chambre forte dans le compartiment racine pour permettre au groupe dynamique de gérer les clés secrètes. Voir Aperçu du service de chambre forte et Gestion des clés secrètes. Par exemple :
    Allow dynamic-group <dynamic_group_name> to manage secret-family in tenancy
    Note

    Ce processus est requis uniquement pour l'intégration avec des référentiels de code de tierce partie, et non avec le référentiel de code DevOps OCI.

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

  1. Dans la page d'accueil de GitHub, cliquez sur l'image de profil dans le coin supérieur droit, puis cliquez sur Paramètres.
  2. Dans le menu de gauche, cliquez sur Developer settings (Paramètres de développeur).
  3. Dans le menu de gauche, cliquez sur Personal access tokens (Jetons d'accès personnels), puis sur Tokens (classic).
  4. Cliquez sur le lien Créer 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 parmi les options proposées.
  7. Pour les portées, afin de permettre au service DevOps de lire le code dans les référentiels privés, sélectionnez Full control of private repositories (Full contrôle des référentiels privés).

    Pour accéder au code à partir de référentiels publics uniquement, sélectionnez l'étendue public_repo.

  8. Cliquez sur Generate token.

    Copiez immédiatement le jeton dans un emplacement sécurisé, car vous ne pouvez plus le récupérer une fois que vous aurez quitté la page.

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

  1. Dans la page d'accueil GitLab, cliquez sur l'image de profil dans le coin supérieur droit, puis cliquez sur Modifier le profil.
  2. Dans le menu de gauche, cliquez sur Access Tokens (Jetons d'accès).
  3. Entrez un nom et une date d'expiration facultative pour le jeton.
  4. Pour les portées, sélectionnez read_api.
  5. Cliquez sur Create personal access token (Créer un jeton d'accès personnel).

    Copiez immédiatement le jeton dans un emplacement sécurisé, car vous ne pouvez plus le récupérer une fois que vous aurez quitté la page.

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

Voyez comment effectuer l'intégration avec Bitbucket Cloud et établir la connexion pour utiliser les référentiels Bitbucket dans le pipeline de compilation.

  1. Dans la page d'accueil de votre compartiment, cliquez sur votre profil dans le coin supérieur droit, puis cliquez sur Configurations personnelles.
  2. Dans les paramètres de profil Bitbucket, notez votre nom d'utilisateur.
  3. Dans le menu de gauche, cliquez sur App passwords (Mots de passe d'application), puis sur Create app password (Créer un mot de passe d'application).
  4. Entrez une étiquette (nom) pour le mot de passe.
  5. Cochez les cases suivantes pour les autorisations :
    • Compte : Lecture
    • Adhésion à l'espace de travail : Lecture
    • Projects ( projets) : Read (Lecture)
    • Pull Requests : Lecture
    • Webhooks : Read and Write (Lecture et écriture)
  6. Cliquez sur Créer.

    Copiez immédiatement le mot de passe de l'application dans un emplacement sécurisé, car vous ne pourrez plus le récupérer une fois que vous aurez quitté la page.

Vous devez stocker le mot de passe de l'application dans une chambre forte Oracle Cloud Infrastructure (OCI). Le service de chambre forte est un service géré qui vous permet de gérer, de manière centralisée, les clés de chiffrement qui protègent vos données et les données d'identification de clé secrète que vous utilisez pour accéder aux ressources en toute sécurité.

Vous pouvez réutiliser des chambres fortes qui existent dans votre location ou créer une chambre forte, une clé de chiffrement principale et une clé secrète.
Note

Chaque location a une limite de 10 chambres fortes et chaque chambre forte peut stocker plusieurs clés secrètes.

Stockage d'un jeton d'accès personnel dans le service de chambre forte

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

  1. Ouvrez le menu de navigation dans la console Oracle Cloud, cliquez sur Identité et sécurité, puis sur Chambre forte.
  2. Sous Portée de la liste, dans la liste Compartiment, cliquez sur le nom du compartiment dans lequel vous voulez créer la chambre forte.
  3. Cliquez sur Créer une chambre forte et entrez un nom d'affichage pour la chambre forte.
  4. Lorsque vous avez terminé, cliquez sur Créer une chambre forte.
  5. Pour créer la clé de chiffrement principale utilisée pour chiffrer le jeton d'accès personnel, cliquez sur le nom de la chambre forte que vous avez créée à l'étape 4.
  6. Cliquez sur Clés de chiffrement principales, puis sur Créer une clé.
    Vous pouvez importer le matériel et les versions de clé dont vous disposez déjà dans la chambre forte que vous avez créée à l'étape 4. La clé doit être une clé symétrique, car vous ne pouvez pas chiffrer les clés secrètes de chambre forte avec des clés asymétriques. Pour plus d'informations, voir 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 de la chambre forte que vous avez créée à l'étape 4.
  8. Entrez un nom pour la clé secrète.
  9. Sélectionnez la clé de chiffrement principale que vous avez créée à l'étape 5 pour chiffrer le contenu de la clé secrète.
  10. Spécifiez le format du contenu de la 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 la clé secrète en texte brut lorsque vous utilisez la console pour créer une clé secrète de chambre forte ou une version de clé secrète de chambre forte, mais le contenu de la clé secrète doit être encodé en base64 avant d'être envoyé au service. L'encodage du contenu de la clé secrète en texte est effectué automatiquement par la console. Pour plus d'informations, voir Gestion des clés secrètes.
  11. Cliquez sur Contenu de la clé secrète, puis entrez 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 la chambre forte OCI.

Utilisation du service DevOps

Une fois les préalables réunis, procédez de la façon suivante pour utiliser le service DevOps pour l'intégration, la livraison et le déploiement continus de vos logiciels sur les plates-formes de calcul OCI :

  1. Créez un projet DevOps regroupant les ressources nécessaires à la mise en oeuvre de votre application d'intégration et de livraison continues.
  2. Créez un référentiel de code OCI ou utilisez des référentiels de code externes tels que GitHub, GitLab et Bitbucket Cloud. Voir Mise en miroir d'un référentiel.
  3. Créez un pipeline de compilation contenant les étapes qui définissent le processus de création d'applications logicielles avant le déploiement (compilation, test et exécution).
  4. Ajoutez une étape de compilation gérée à votre pipeline de compilation pour tester votre application logicielle.

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

  5. Pour stocker la sortie de l'étape de compilation gérée, vous devez disposer d'un référentiel du registre de conteneurs ou d'un référentiel du registre d'artefacts OCI.

    DevOps prend en charge les applications stockées dans les référentiels du registre de conteneurs et du registre d'artefacts OCI. Le référentiel du registre de conteneurs contient des images Docker et des graphiques Helm, et le référentiel du registre d'artefacts contient des ensembles logiciels génériques.

  6. Créez un artefact DevOps pour pointer vers l'emplacement du référentiel contenant la sortie de la compilation.

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

  7. Ajoutez une étape Fournir des artefacts à votre pipeline de compilation après avoir ajouté l'étape de compilation gérée.

    L'étape Fournir des artefacts mappe les sorties de l'étape de compilation gérée à la version à transmettre à une ressource d'artefact DevOps, puis au référentiel de code OCI.

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

    L'exécution manuelle utilise la dernière validation du référentiel de code qui a été ajoutée à la compilation. Vous pouvez exécuter la compilation en fonction d'une validation spécifique en notant les détails de celle-ci.

    Vous pouvez également déclencher une exécution de compilation automatiquement 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 grappes Kubernetes Engine, 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 fournir la sortie de compilation à l'environnement cible.

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

  12. Ajoutez une étape Déclencher le déploiement pour déclencher automatiquement un déploiement à partir du pipeline de compilation ou pour exécuter le pipeline de déploiement.