Présentation de DevOps

Le service Oracle Cloud Infrastructure (OCI) DevOps est une plate-forme d'intégration continue et de déploiement continu de bout en bout destinée aux développeurs.

Grâce à ce service, un ingénieur DevOps peut créer, tester et déployer facilement des logiciels et des applications sur Oracle Cloud. Les pipelines de build et de déploiement DevOps réduisent les erreurs liées aux modifications et le temps passé par les clients à créer et à déployer des versions. Le service fournit également des référentiels Git privés pour stocker votre code et prend en charge les connexions aux référentiels de code externes.

Avec le service DevOps, vous pouvez effectuer les opérations suivantes :

  • Créer des référentiels de code privés pour stocker et gérer le code source.
  • Connectez-vous à des référentiels externes tels que GitHub, GitLab, Bitbucket Cloud, Visual Builder Studio, Bitbucket Server et GitLab Server.
  • Créer et tester les dernières modifications apportées à un pipeline de build avec un programme d'exécution de build géré par le service.
  • Configurer un déclencheur pour exécuter automatiquement le pipeline de build à partir d'une demande d'extraction ou de validation de code source. Exécuter éventuellement un pipeline de déploiement sur l'exécution de build réussie pour une automatisation complète de l'intégration continue et du déploiement continu.
  • Orchestrer le déploiement logiciel entre des régions vers des plates-formes OCI telles que Kubernetes Engine (OKE), les instances Compute et Functions.
  • Eviter les temps d'arrêt lors des déploiements grâce à des stratégies de déploiement bleu/vert et canari.
  • Automatiser la mise à jour complexe d'applications. L'automatisation réduit les risques d'erreur humaine susceptible d'entraîner une vulnérabilité en matière de sécurité.
  • Améliorer la sécurité et réduire les risques lors de la distribution. Comme DevOps accélère la distribution des logiciels, les bugs de sécurité peuvent être résolus rapidement en déployant une correction.

Workflow DevOps

Que ce soit pour migrer des charges globales vers OCI (à partir de clouds sur site ou autres) ou pour développer de nouvelles applications sur OCI, vous pouvez utiliser le service DevOps afin de simplifier le cycle de vie de distribution des logiciels.

Avec DevOps, vous pouvez créer, tester, distribuer et déployer des instances à l'aide de la console Oracle Cloud, de l'API REST et de l'interface de ligne de commande. Reportez-vous à Accès à DevOps.

Pour commencer à utiliser le service DevOps, reportez-vous à Introduction à DevOps.

Concepts relatifs à DevOps

Consultez les termes clés pour comprendre le service DevOps.

Projet DevOps
Regroupement logique de ressources DevOps nécessaires pour implémenter un workflow d'intégration continue et de déploiement continu. Les ressources DevOps peuvent être des artefacts, des pipelines de build, des pipelines de déploiement, des connexions externes, des déclencheurs et des environnements.
environnement
Référence aux ressources de calcul vers lesquelles les artefacts sont déployés. Un environnement peut être une référence à une application de fonction, à un groupe d'instances Compute ou à un cluster OKE (Kubernetes Engine).
groupe d'instances
Groupe d'hôtes de calcul. Les hôtes de calcul de chaque groupe d'instances ne peuvent provenir que d'une seule région à la fois.
artefact
Ensemble de fichiers binaires et de manifestes de déploiement distribués à l'environnement de déploiement cible. Les artefacts DevOps peuvent être une image de conteneur, une configuration de déploiement de groupe d'instances, un manifeste Kubernetes ou un artefact générique. Les artefacts peuvent être hébergés sur des référentiels OCI Container Registry et Artifact Registry.
artefact de configuration de déploiement
Définit les artefacts à télécharger vers l'instance et l'emplacement où les artefacts doivent être copiés. Le fichier de configuration indique également l'ordre des commandes pour le déploiement.
référentiel de code
Référentiels Git privés hébergés par le service DevOps. Vous pouvez stocker, gérer et développer du code source avec les référentiels de code DevOps.
connexion externe
Définit l'autorisation nécessaire pour la connexion aux référentiels externes. DevOps prend en charge la connexion aux référentiels GitHub, GitLab, Bitbucket Cloud, Bitbucket Server et GitLab Server.
phase
Représente une étape dans le pipeline. Le service DevOps inclut des phases prédéfinies, qui sont utilisées dans un pipeline de build ou de déploiement.
pipeline de build
Définit un ensemble de phases pour le processus de build : création, test et compilation d'artefacts de logiciel, distribution d'artefacts aux référentiels OCI et déclenchement éventuel d'un déploiement.
spécification de build
Contient les étapes de build et les instructions exécutées par le programme d'exécution de build géré par le service.
pipeline de déploiement
Séquence d'étapes permettant de déployer un ensemble d'artefacts vers un environnement cible. Un pipeline de déploiement contient des phases qui sont exécutées de manière séquentielle ou en parallèle.
annulation (rollback)
Moyen permettant de gérer les problèmes identifiés lors du déploiement, notamment la publication d'une version précédente correctement déployée du logiciel.
déclencheur
Ressource DevOps permettant de filtrer les événements entrants à partir d'un référentiel de code source et de déclencher une action afin de démarrer une exécution de build sur une validation entrante correspondante.

Le déclencheur fait également référence à la phase de pipeline de déploiement pour déclencher le démarrage d'un déploiement.

déploiement
Exécution unique d'un pipeline de déploiement. Un déploiement contient l'état de toutes les phases exécutées dans un pipeline de déploiement.
demande de travail
Moyen permettant de suivre une tâche asynchrone en cours d'exécution pour un projet DevOps.

Accès à DevOps

Vous pouvez accéder à DevOps via la console (une interface basée sur un navigateur), l'interface de ligne de commande Oracle Cloud Infrastructure ou les API REST.

Vous trouverez des instructions relatives aux trois méthodes d'accès dans cette documentation.

Si vous essayez d'effectuer une action et qu'un message indique que vous n'y êtes pas autorisé, vérifiez auprès de l'administrateur le type d'accès qui vous a été accordé.

Pour commencer à utiliser le service DevOps, reportez-vous à Introduction à DevOps.

Authentification et autorisation

Chaque service d'Oracle Cloud Infrastructure s'intègre à IAM pour l'authentification et l'autorisation, sur toutes les interfaces (consolekit SDK ou interface de ligne de commande, et API REST).

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. Par exemple, les stratégies déterminent qui peut créer des utilisateurs, des groupes et des compartiments, ou qui peut créer et gérer des référentiels et des artefacts.

Si vous êtes un utilisateur standard (et non un administrateur) et que vous avez besoin des ressources Oracle Cloud Infrastructure de votre entreprise, contactez l'administrateur afin qu'il configure pour vous un ID utilisateur. L'administrateur peut confirmer les compartiments que vous devez utiliser.

Régions et domaines de disponibilité

DevOps est disponible dans toutes les régions commerciales Oracle Cloud Infrastructure. Reportez-vous à A propos des régions et des domaines de disponibilité afin d'obtenir la liste des régions disponibles pour Oracle Cloud Infrastructure, ainsi que les emplacements, identificateurs de région, clés de région et domaines de disponibilité associés.

Identificateurs de ressource

Les ressources DevOps, comme la plupart des types de ressource dans Oracle Cloud Infrastructure, possèdent un identificateur unique affecté par Oracle appelé ID Oracle Cloud (OCID).

Pour plus d'informations sur le format OCID et les autres moyens d'identifier vos ressources, reportez-vous à Identificateurs de ressource.

Limites

Prenez connaissance des limites de service DevOps pour votre région.

Une limite de service est l'allocation ou le quota défini sur une ressource.

Ressource Nom abrégé de la limite Crédits universels annuels Paiement à l'utilisation Description
Projets devops-project-count 1 000 1 000 Nombre maximal de projets disponibles dans DevOps.
Pipelines build-pipeline-count 1 000 1 000 Nombre maximal de pipelines de build disponibles dans DevOps.
Pipelines stages-per-build-pipeline-count 100 100 Nombre maximal de phases par pipeline de build disponibles dans DevOps.
Pipelines deployment-pipeline-count 1 000 1 000 Nombre maximal de pipelines disponibles dans DevOps.
Pipelines deployment-stages-per-pipeline-count 100 100 Nombre maximal de phases par pipeline de déploiement disponibles dans DevOps.
Exécutions de build concurrent-build-run-count 30 30 Nombre maximal d'exécutions de build simultanées disponibles dans DevOps.
Exécutions de build concurrent-build-runner-count 30 30 Nombre maximal de programmes d'exécution de build simultanés fournis par le service dans DevOps.
Déploiements concurrent-deployment-count 100 100 Nombre maximal de déploiements simultanés disponibles dans DevOps.
Environnements devops-environment-count 3 000 3 000 Nombre maximal d'environnements disponibles dans DevOps.
Artefacts devops-artifact-count 10 000 10000 (Paiement à l'utilisation )

1000 (essai)

Nombre maximal d'artefacts disponibles dans DevOps.
Déclencheurs trigger-count 100 100 Nombre maximal de déclencheurs autorisés dans DevOps.
Connexions externes external-connection-count 100 100 Nombre maximal de connexions externes autorisées dans DevOps.
Référentiels de code code-repository-count 1 000 1 000 Nombre maximal de référentiels autorisés par région et par location.
Référentiels de code code-repository-size-limit-mb 1 024 1 024 Taille maximale d'un référentiel en Mo.
Référentiels de code receive-pack-size-limit-mb 1 024 1 024 Taille maximale d'un fichier de package en Mo.
Demandes d'extraction pull-request-count-per-month 2 000 2 000 Nombre maximum de demandes d'extraction créées en un mois.

Afin de vérifier les limites pour DevOps, procédez comme suit :

  1. Dans la console, ouvrez le menu de navigation et cliquez sur Gouvernance et administration. Sous Gouvernance, cliquez sur Limites, quotas et utilisation.
  2. Filtrez sur les valeurs suivantes :
    • Service : DevOps
    • Portée : <your-region>
    • Ressource :
      • Nombre maximal de déploiements simultanés
      • Nombre maximal de pipelines de déploiement
      • Nombre maximal de phases par pipeline de déploiement
      • Nombre maximal d'artefacts de déploiement
      • Nombre maximal d'environnements
      • Nombre maximal de projets DevOps
      • Nombre maximal de pipelines de build
      • Nombre maximal de phases par pipeline de build
      • Nombre maximal d'exécutions de build simultanées
      • Nombre maximal de programmes d'exécution de build simultanés fournis par le service
      • Nombre maximal de déclencheurs
      • Nombre maximal de connexions externes
      • Nombre total de référentiels autorisés par région et par location
      • Taille totale d'un référentiel en Mo
      • Taille totale d'un fichier de package en Mo
    • Compartiment : <your-tenancy-namespace > (root)

Pour augmenter les limites de service, procédez comme suit :

  1. Dans la console, ouvrez le menu de navigation et cliquez sur Gouvernance et administration. Sous Gouvernance, cliquez sur Limites, quotas et utilisation.
  2. Cliquez sur le lien Demander une augmentation de limite de service. Seuls les administrateurs peuvent effectuer cette demande.

Pour plus d'informations, reportez-vous à Limites de service.