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
- 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.
- Créez des utilisateurs et ajoutez-les au groupe, ou ajoutez des utilisateurs existants au groupe.
- 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 les pipelines de build, reportez-vous à Stratégies de pipeline de build.
- Pour les référentiels de code, reportez-vous à Stratégies de référentiel de code.
- Pour les pipelines de déploiement, reportez-vous à Stratégies de pipeline de déploiement.
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 :
- GitHub, GitLab, le serveur GitLab et Visual Builder Studio : vous devez extraire un jeton d'accès personnel à partir de ces fournisseurs et le stocker de façon sécurisée dans un coffre OCI. Pour obtenir des instructions, reportez-vous à Intégration d'une source de build.
- Bitbucket Cloud : vous avez besoin de votre nom utilisateur Bitbucket. Créez un mot de passe d'application, puis stockez-le dans un coffre OCI. Reportez-vous à Génération d'un mot de passe d'application pour Bitbucket Cloud.
- Bitbucket Server : vous devez créer un jeton d'accès HTTP, puis le stocker dans un coffre OCI.
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.
- 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 (
, puis sélectionnez Paramètres utilisateur ou Mon profil, selon l'option que vous voyez.
- 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.
- Sous Ressources, cliquez sur Jetons d'authentification.
- Cliquez sur Créer un jeton.
- 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. -
Cliquez sur Créer un jeton.
La nouvelle chaîne de jeton apparaît. Par exemple,
Dm___________6MqX
. - 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.
- 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.
- 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 :
- Pour GitHub, reportez-vous à Génération d'un jeton d'accès personnel GitHub.
- Pour GitLab, reportez-vous à Génération d'un jeton d'accès personnel GitLab.
- Pour Visual Builder Studio, reportez-vous à Configuration de l'authentification par jeton.
- 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.
- 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
Génération d'un jeton d'accès personnel GitLab
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.
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.
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.
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 :
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Créez une référence à l'environnement cible pour le déploiement.
- 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.
- 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.