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
- 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 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 créer des pipelines, voir Politiques de pipeline de compilation.
- Pour les référentiels de code, voir Politiques de référentiel de code.
- Pour les pipelines de déploiement, voir Politiques de pipeline de déploiement.
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 :
- GitHub, GitLab, serveur GitLab et Visual Builder Studio : Vous devez obtenir un jeton d'accès personnel auprès de ces fournisseurs et le stocker en toute sécurité dans une chambre forte OCI. Pour obtenir des instructions, voir Intégration de sources de compilation.
- Bitbucket Cloud : Vous avez besoin de votre nom d'utilisateur Bitbucket et de créer un mot de passe d'application, puis de le stocker dans une chambre forte pour OCI. Voir Génération d'un mot de passe d'application pour Bitbucket Cloud.
- Serveur Bitbucket : Vous devez créer un jeton d'accès HTTP, puis le stocker dans une vault OCI.
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.
- 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 (
, puis sélectionnez Paramètres de l'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 :
- 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.
- Sous Ressources, cliquez sur Jetons d'authentification.
- Cliquez sur Créer un jeton.
- 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. -
Cliquez sur Créer un jeton.
La nouvelle chaîne de jeton s'affiche. 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 n'apparaîtra plus dans la console.
- 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.
- Extrayez un jeton d'accès personnel du service d'hébergement du référentiel de code de tierce partie comme suit :
- Pour GitHub, voir Génération d'un fichier de jeton d'accès personnel GitHub.
- Pour GitLab, voir Génération d'un fichier de jeton d'accès personnel GitLab.
- Pour Visual Builder Studio, voir Configurer l'authentification basée sur un jeton.
- 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.
- 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
Génération d'un fichier de jeton d'accès personnel GitLab
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.
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é.
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.
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 :
- Créez un projet DevOps regroupant les ressources nécessaires à la mise en oeuvre de votre application d'intégration et de livraison continues.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Créez une référence à l'environnement cible pour le déploiement.
- 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.
- 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.