Créer et configurer des tâches de fabrication de production

Pour déployer des extensions vers l'instance PROD de votre application Oracle Cloud, vous pouvez utiliser la page Gérer le cycle de vie des extensions ou configurer un pipeline d'intégration et de développement en continu. Si vous voulez utiliser un pipeline, vous devez configurer des tâches d'assemblage et de déploiement.

  1. Migrer les configurations vers l'instance d'application Oracle Cloud de production. Voir Aperçu du cycle de vie de la configuration et Aperçu de la migration dans Configuration et extension des applications pour obtenir des instructions.
  2. Créez un travail de compilation qui regroupe l'extension. Voir Créer la tâche de création d'assemblage de production pour obtenir des instructions.
  3. Créez un travail de compilation qui déploie l'extension vers l'instance de production. Pour obtenir des instructions, voir Créer la tâche de création de déploiement de production.
  4. (Facultatif) Restreindre qui peut voir ou modifier les tâches de compilation de production ou exécuter leurs versions. Pour obtenir des instructions, voir Configurer les paramètres de protection des tâches.
  5. Configurez les pipelines pour exécuter successivement les tâches d'assemblage et de déploiement. Pour obtenir des instructions, voir Créer et configurer le pipeline de production.
  6. Exécutez le pipeline de production pour emballer l'extension et la déployer dans l'instance de production. Pour obtenir des instructions, voir Exécuter les pipelines de production.

Avant de configurer des tâches de compilation et des pipelines

Voici quelques éléments à connaître avant de configurer et d'exécuter des travaux de compilation et des pipelines :

  • Assurez-vous que les instances source et cible sont de la même version, avec les mêmes correctifs standard et ponctuels appliqués aux deux environnements.
  • Si vous avez configuré la tâche d'emballage de développement pour remplacer la version de l'application définie dans visual-application.json, obtenez la nouvelle version. Vous allez configurer la tâche d'emballage de production pour qu'elle utilise la même version.
  • VB Studio peut créer et activer les travaux de compilation et le pipeline pour vous. Dans l'éditeur de paramètres de l'extension, sous Création et publication, sélectionnez la branche de production, puis cliquez sur Créer un pipeline d'intégration et de développement en continu. Vous pouvez ensuite modifier les tâches de compilation nouvellement créées selon vos besoins. Par exemple, dans la tâche de déploiement, la cible de déploiement est toujours l'environnement associé à l'espace de travail. Vous devrez donc remplacer l'instance cible par votre instance de production.

Créer la tâche de création d'ensembles de production

Le travail d'assemblage génère un artefact d'extension prêt à être déployé dans l'instance de production.

  1. Dans le navigateur de gauche, cliquez sur Builds (Créer) Compilations.
  2. Dans l'onglet Tâches, cliquez sur + Créer une tâche.
  3. Dans la boîte de dialogue New Job (Nouveau travail), dans Name (Nom), entrez un nom unique.
  4. Dans Description, entrez la description de l'emploi.
  5. Dans Modèle, sélectionnez le modèle Par défaut du système OL7 pour Visual Builder.
  6. Cliquez sur Créer.
  7. Cliquez sur Configurer Configurer.
  8. Cliquez sur l'onglet Git.
  9. Dans la liste Ajouter Git, sélectionnez Git.
  10. Dans Référentiel, sélectionnez le référentiel Git. Dans Branche ou marqueur, sélectionnez la branche de production.
  11. Cliquez sur l'onglet Étapes.
  12. Dans Ajouter une étape, sélectionnez Extension d'application, puis Ensemble.
  13. Par défaut, l'étape d'assemblage réduit le code source de l'application avant d'exécuter la compilation. Si vous ne voulez pas réduire la taille des fichiers sources, désélectionnez la case Optimiser l'extension.

    La minimisation est un processus permettant de supprimer les caractères inutiles (tels que les espaces vides, les nouvelles lignes et les commentaires) du code source et de réduire la taille des fichiers, ce qui réduit la consommation de bande passante et de stockage des fichiers.

    Note

    Lorsque vous désélectionnez la case à cocher Optimiser l'extension, cet avertissement s'affiche : Optimisation non sélectionnée. L'assemblage sans optimisation peut entraîner des problèmes de performance, évitez donc de le faire à moins que vous ne procédiez au débogage ou au dépannage.
  14. (Facultatif) Pour modifier le nom du fichier d'artefact, dans Créer un artefact, entrez le nouveau nom. La meilleure pratique consiste à conserver la valeur par défaut, extension.vx, mais vous pouvez la modifier.
    Si vous la modifiez, vous devez également utiliser le nouveau nom dans le champ Fichiers à archiver (étape 18) ainsi que dans le champ Créer un artefact de la tâche de déploiement. Voir Créer la tâche de création de déploiement de production.
  15. (Facultatif) Si vous avez configuré la tâche d'emballage de développement pour remplacer la version par défaut de l'extension définie dans le fichier visual-application.json, spécifiez la même version dans Version d'extension.
  16. Cliquez sur l'onglet Après la création dans la fenêtre Configuration de la tâche.
  17. Dans Ajouter une action après la création, sélectionnez Utilitaire d'archivage d'artefacts.
  18. Dans Fichiers à archiver, entrez le nom de l'artefact de compilation.

    Vous pouvez utiliser des caractères génériques. Par exemple, *.vx. Assurez-vous d'inclure le chemin d'accès à l'artefact de création de l'extension d'application.

    Si vous avez entré une valeur dans le champ Répertoire cible dans Copier les artefacts pour la tâche de déploiement, celle-ci est considérée comme un sous-répertoire de l'espace de travail et doit faire partie du chemin de l'artefact dans le champ Créer un artefact.

  19. Pour abandonner les anciens artefacts de la compilation, cliquez sur Paramètres l'icône Gear. Dans l'onglet Général, cochez la case Abandonner les anciennes versions et spécifiez les options d'abandon.
  20. Cliquez sur Enregistrer.

Créer la tâche de création de déploiement de production

La tâche de déploiement déploie l'artefact de l'extension qui a été généré dans la tâche d'assemblage vers l'instance de production de l'application Oracle Cloud. Avant de créer la tâche, assurez-vous que vous disposez des données d'identification que VB Studio peut utiliser pour accéder à l'instance PROD de l'application Oracle Cloud.

  1. Dans le navigateur de gauche, cliquez sur Builds (Créer) Compilations.
  2. Dans l'onglet Tâches, cliquez sur + Créer une tâche.
  3. Dans la boîte de dialogue New Job (Nouveau travail), dans Name (Nom), entrez un nom unique.
  4. Dans Description, entrez la description de l'emploi.
  5. Dans Modèle, sélectionnez le modèle Par défaut du système OL7 pour Visual Builder.
  6. Cliquez sur Créer.
  7. Cliquez sur Configurer Configurer.
  8. Cliquez sur l'onglet Avant la création.
  9. Dans Ajouter avant l'action de création, sélectionnez Copier les artefacts.
  10. Dans Du travail, sélectionnez le travail d'assemblage qui a généré l'artefact de l'extension.
  11. Dans Quelle compilation, sélectionnez l'une des options suivantes :
    • Dernière création réussie (par défaut)
    • Dernière construction pour toujours
    • Version en amont dans cette instance de pipeline
    • Spécifié par permalink
    • Construction spécifique
    • Spécifié par le paramètre de création
    Selon ce que vous sélectionnez, vous pouvez être invité à sélectionner le permalien, la construction ou le paramètre de construction que vous souhaitez utiliser.
  12. Laissez les autres champs avec leurs valeurs par défaut ou vides.
  13. Cliquez sur l'onglet Étapes.
  14. Dans Ajouter une étape, sélectionnez Extension d'application, puis Déployer.

    Cette image présente la page Déployer la tâche de compilation partiellement remplie.
    Description d'oracle-deploy-build-step.png :
    Description de l'illustration oracle-deploy-build-step.png

  15. Dans Instance cible, sélectionnez l'environnement avec l'instance de production de l'application Oracle Cloud.
  16. Dans la section Autorisation, spécifiez le type d'autorisation pour exécuter cette étape de compilation. Avec l'option Utiliser OAuth sélectionnée par défaut, vous verrez le message Authorization is required indiquant que cette étape de compilation a besoin d'une autorisation ponctuelle pour traiter les demandes OAuth à l'instance Oracle Cloud Applications de votre environnement. Cliquez sur Autoriser et entrez les données d'identification pour accéder à votre instance Oracle Cloud Applications. Vous pouvez également exécuter la tâche manuellement et entrer les données d'identification à l'invite.

    Quoi qu'il en soit, il est recommandé d'autoriser votre connexion OAuth lors de la configuration initiale. Si vous ignorez cette étape, vous ne pourrez pas publier vos modifications à partir du concepteur et devrez remplir l'autorisation requise avant de tenter de déployer les modifications.

    Une fois autorisé, le message Authorization has been provided s'affiche.

    Note

    OAuth est le type d'autorisation recommandé. Utilisez l'authentification de base uniquement si vous rencontrez des problèmes lors de la configuration d'une connexion OAuth. Pour utiliser l'authentification de base, sélectionnez Utiliser l'authentification de base, puis entrez les données d'identification d'un utilisateur qui peut accéder à l'instance Oracle Cloud Applications dans Nom d'utilisateur et Mot de passe. Ces données d'identification doivent être celles d'un utilisateur local, et non d'une identité fédérée, et ne doivent pas nécessiter d'authentification multifacteur.

    Les jetons OAuth (accès et actualisation) sont cycliques lors d'une utilisation régulière. Un jeton d'actualisation est utilisé pour obtenir un jeton d'accès lorsqu'un utilisateur accède à l'instance cible. Ce jeton d'actualisation est généralement valide pendant sept jours. (Le délai d'expiration du jeton est défini dans l'application de ressources IDCS et peut être différent en fonction de vos exigences de sécurité.) Si l'utilisateur s'authentifie auprès de l'instance cible au cours de la période de sept jours, le jeton d'actualisation actif génère un nouveau jeton d'accès et un nouveau jeton d'actualisation. Ce cycle se poursuit indéfiniment tant que le jeton d'actualisation reste valide. Si le jeton d'actualisation expire pendant de longues périodes d'inactivité (par exemple, lorsque vous êtes en vacances), cliquez sur Renew Authorization (Renouveler l'autorisation) (ou exécutez la tâche manuellement. Vous êtes donc invité à autoriser les jetons OAuth expirés).

    Le champ Créer un artefact doit afficher le même nom d'artefact que celui utilisé à l'étape de compilation de l'ensemble. Confirmez cette valeur, en particulier si le travail d'emballage a utilisé un nom d'artefact autre que le nom par défaut, extension.vx.
  17. Cliquez sur Enregistrer.
Note

Si vous développez une extension sur, par exemple, 24D dans votre environnement de test, vous voulez déployer l'extension dans votre environnement 24C Prod, vous devrez attendre que votre instance Prod ait été mise à niveau vers 24D avant de pouvoir le déployer. Dans la plupart des cas, il ne devrait pas y avoir plus de deux semaines d'écart entre les mises à niveau des pods.

Configurer les paramètres de protection des travaux

Pour restreindre l'accès, le responsable du projet peut marquer un travail comme étant privé. Les utilisateurs qui n'ont pas accès peuvent voir la tâche de compilation dans la page Aperçu des tâches, mais ils ne peuvent pas voir la page Détails de la tâche ou voir les détails de la tâche; ils ne peuvent pas non plus voir ou modifier la configuration de la tâche, ni supprimer/activer/désactiver la tâche de compilation. En outre, le responsable du projet peut utiliser un modèle Glob défini dans une règle pour protéger tout travail dont le nom correspond au modèle spécifié.

Note

Avant d'appliquer des protections à un emploi, vous devez tenir compte des éléments suivants :
  • Une règle de protection définie avec un modèle Glob ne remplacera pas une protection d'emploi définie à l'aide d'un nom (pas de modèle Glob ou de règle).
  • Une protection appliquée à un seul travail remplace une protection appliquée à l'aide d'une règle (définie par un modèle Glob).
  • Lorsque deux règles sont combinées, la protection est déterminée par la règle la plus restrictive. Vous devez consulter les événements du flux Activités et examiner les avis, qui fournissent les informations expliquant les restrictions lorsqu'une règle remplace une autre.
  • Un travail ne sera pas créé si l'utilisateur qui crée le travail ne peut pas accéder à son propre travail. Le même principe est vrai pour renommer des travaux.
  1. Dans le navigateur de gauche, cliquez sur Project Administration (Administration de projet) Administration du projet.
  2. Sélectionnez la vignette Constructions.
  3. Sélectionnez l'onglet Protection de l'emploi.
  4. Dans le panneau Rechercher les règles par, situé au-dessus de la liste des tâches/règles, sélectionnez l'un des boutons radio suivants :
    • Sélectionnez Nom de la tâche pour choisir une tâche dans la liste.

      Si votre projet a de nombreux emplois, vous pourriez avoir du mal à trouver l'emploi spécifique que vous voulez protéger. Utilisez la barre Icône de recherche de la tâche de filtre pour localiser rapidement la tâche à laquelle vous voulez ajouter les paramètres restreints.

      Cliquez avec le bouton droit de la souris sur la liste des tâches pour afficher des options de tri supplémentaires. Cliquez sur Trier par nom de tâche ou sur Trier par tâche privée pour trier la liste en conséquence. Cliquez de nouveau sur l'option de tri pour basculer entre l'ordre croissant et l'ordre décroissant.


      Options de tri de la page de protection des emplois

      Si une tâche comporte une icône de verrouillage Icône Verrouiller, elle a déjà été protégée. Les restrictions d'une tâche protégée peuvent toujours être modifiées, supprimées ou la liste des utilisateurs et des groupes autorisés peut encore être modifiée.

      La boîte de dialogue Protection des tâches s'affiche.


      Description de job-protection-open.png :
      Description de l'illustration job-protection-open.png

      Lorsqu'un travail n'est pas directement protégé, mais qu'il est protégé par une règle, un message d'information comme le suivant affiche les règles, <ExampleRegex05> dans ce cas, qui protègent le travail spécifique :
      This job is protected by the following glob pattern rules matching this job name: <ExampleRegex05>
    • Sélectionnez Modèle de grand objet pour spécifier une chaîne correspondant au nom de la tâche.

      C'est ce que vous verriez si aucune règle n'a encore été définie.


      Description de job-protection-page-glob-pattern-selected.png
      Description de l'illustration job-protection-page-glob-pattern-selected.png

      La syntaxe Glob peut être utilisée pour spécifier le comportement de correspondance de modèle. Ces caractères génériques peuvent être utilisés dans les modèles glob : *, **,?, [], {} et \.

      Sélectionnez une règle de protection existante dans la liste ou cliquez sur + Rule (Règle) pour afficher la boîte de dialogue New Protection Rule (Nouvelle règle de protection) et en créer une nouvelle.

      La boîte de dialogue Protection Rule s'affiche.
      Description de protection-rule-dialog-populated.png :
      Description de l'illustration protection-rule-dialog-populated.png

      Ici, nous avons entré un nom (Règle de test) et un modèle Glob (test*) et nous sommes sur le point d'appuyer sur Créer pour créer une nouvelle règle de protection d'emploi.

  5. Cochez la case PRIVATE (PRIVÉ).
    C'est ce que vous voyez après avoir sélectionné l'option Privé pour un travail.


    Description de job-protection-private.png :
    Description de l'illustration job-protection-private.png

    Lorsque cette option est sélectionnée, seuls les utilisateurs et les groupes autorisés peuvent voir la page Détails de la tâche, la modifier ou l'exécuter manuellement. Si la tâche est déclenchée dans un pipeline par un utilisateur ou un groupe non autorisé, ou si elle est déclenchée par SCM ou un temporisateur, elle ne sera pas lancée.

    C'est ce que vous voyez après avoir sélectionné l'option Privé pour une règle de protection.


    Description de job-protection-rule-private.png :
    Description de l'illustration job-protection-rule-private.png

  6. Cliquez dans le champ Utilisateurs/Groupes autorisés pour afficher une boîte de dialogue qui répertorie les groupes et les utilisateurs du projet que vous pouvez sélectionner.

    Sous Utilisateurs, vous pouvez voir une liste aplanie de tous les utilisateurs qui sont membres du ou des groupes ainsi que ceux qui ont été ajoutés individuellement. Par exemple, les membres du groupe dev (Clara Coder, Don Developer et Tina Testsuite) apparaissent dans la liste Users, ainsi qu'Alex Admin, qui a été ajouté individuellement. Dans la liste, sélectionnez un ou plusieurs groupes et/ou utilisateurs. N'oubliez pas de vous ajouter.


    Une description de allowed-groups-users.png suit
    Description de l'illustration allowed-groups-users.png

    C'est ce que vous verriez pour la tâche myProtectedJob après avoir sélectionné Alex Admin en tant qu'utilisateur autorisé.


    Description de job-protection-private-authorized-user.png :
    Description de l'illustration job-protection-private-authorized-user.png

    C'est ce que vous verriez pour la règle de protection de règle de test après avoir sélectionné Alex Admin en tant qu'utilisateur autorisé.


    Description de job-protection-rule-authorized-user.png :
    Description de l'illustration job-protection-rule-authorized-user.png

  7. Cochez les cases pour permettre aux membres du projet de démarrer manuellement des tâches privées et/ou d'autoriser les validations et les déclencheurs à démarrer automatiquement des tâches privées :
    • Cochez la case Autoriser n'importe quel membre du projet à démarrer manuellement cette tâche privée pour autoriser n'importe quel membre du projet, et pas seulement les utilisateurs autorisés, à démarrer manuellement la tâche.

      Ce que vous verriez après avoir coché la case Autoriser un membre du projet à démarrer manuellement cette tâche privée pour la tâche myProtectedJob.


      Description de job-protection-private-both-checkboxes-selected.png :
      Description de l'illustration job-protection-private-both-checkboxes-selected.png

      Notez que lorsque vous cochez la première case, VB Studio sélectionne automatiquement la deuxième case, ce qui permet aux validations et aux déclencheurs de démarrer le travail privé, et le met en grisé. Avec ce paramètre, seuls les utilisateurs et les groupes autorisés peuvent voir la page Détails du travail ou modifier le travail, mais tout membre du projet peut démarrer et exécuter le travail. En outre, les validations ou les déclencheurs SCM démarrent et exécutent automatiquement le travail.

      Ce que vous verriez après avoir coché la case Autoriser un membre du projet à démarrer manuellement cette tâche privée pour la règle de protection de règle de test.


      Description de job-protection-page-both-check-boxes.png
      Description de l'illustration job-protection-page-both-check-boxes.png

    • Cochez la case Autoriser les validations et les déclencheurs à démarrer cette tâche privée si vous voulez que les validations et les déclencheurs SCM puissent exécuter automatiquement cette tâche.


      Description de job-protection-private-allow-commits-triggers.png :
      Description de l'illustration job-protection-private-allow-commits-triggers.png

      Lorsque cette case est cochée, les déclencheurs périodiques exécutent n'importe quel travail ou pipeline, y compris les travaux privés définis pour permettre aux validations et aux déclencheurs de démarrer le travail privé. Toutefois, si un pipeline inclut une tâche privée avec cette option sélectionnée et qu'un utilisateur non autorisé tente d'exécuter le pipeline manuellement, la tâche privée ne sera pas exécutée, mais des déclencheurs périodiques et des validations SCM le seront.

      Laissez la case désélectionnée si vous ne voulez pas que la tâche soit démarrée lorsqu'elle est déclenchée par une validation ou un temporisateur SCM.
      Note

      Meilleure pratique :

      Si vous activez la case à cocher pour permettre le déclenchement de la compilation protégée par une validation SCM, vous devez protéger la branche à laquelle le travail de compilation est lié. Si vous ne le faites pas, n'importe qui peut déclencher la compilation protégée en effectuant une validation pour la déclencher.

      C'est ce que vous verrez si vous avez sélectionné Autoriser les validations et les déclencheurs pour démarrer toute tâche correspondant à ce modèle global pour la règle de test.


      Description de job-protection-page-allow-commits-triggers.png :
      Description de l'illustration job-protection-page-allow-commits-triggers.png

  8. Cliquez sur Enregistrer.

    Le flux de données d'activités affiche toutes les modifications apportées au statut de protection d'une tâche, telles que la modification de la protection d'une tâche publique à privée, ou privée à publique, ou la modification d'une tâche privée pour autoriser les validations et les déclencheurs.

Vous pouvez voir si un travail est privé à partir de plusieurs endroits dans l'interface utilisateur de VB Studio.

  • Dans la liste des tâches figurant dans l'onglet Protection des emplois de la vignette Administration de projet de la page Constructions, à droite du nom de chaque tâche protégée.

  • Dans la colonne Privé de l'onglet Tâches de la page Travaux.

  • Dans les tâches affichées dans l'onglet Pipelines de la page Créations.

Une tâche privée est indiquée par une icône Verrouiller Verrouiller. Une tâche privée que vous pouvez exécuter et modifier est indiquée par une icône Déverrouiller Déverrouiller. Une tâche privée que vous pouvez exécuter mais que vous ne pouvez pas modifier est indiquée par une icône Verrouiller-modifier.

Un utilisateur non autorisé ne peut pas exécuter une tâche de compilation privée manuellement, au moyen d'un pipeline ou à l'aide d'un déclencheur SCM/périodique.