Appel de fonction

Cette phase appelle une fonction Oracle Cloud Infrastructure (OCI). La phase Appeler une fonction peut être utilisée pour exécuter du code ou une logique personnalisée sans serveur. Par exemple, vous pouvez écrire une fonction qui valide l'application dans l'environnement de préparation et, en cas de réussite, déployer l'application vers l'environnement de production.

Avant de commencer, vous devez définir un pipeline de déploiement et créer une fonction appelée lors de l'exécution du pipeline.

    1. Ouvrez le menu de navigation et cliquez sur Services de développeur. Sous DevOps, cliquez sur Projets.
    2. Sélectionnez un projet et un pipeline qui lui est associé.
    3. Pour ajouter la phase d'intégration de manière séquentielle ou en parallèle, cliquez sur l'icône + et sélectionnez Ajouter une phase.
    4. Sélectionnez Intégrations : appeler une fonction, puis cliquez sur Suivant.
    5. Entrez le nom et la description de la phase. L'ajout d'une description est facultatif.
    6. Pour Environnement, sélectionnez une fonction existante à appeler.

      Le champ en lecture seule Nom de fonction affiche la fonction appelée dans le pipeline.

    7. (Facultatif) Pour sélectionner des artefacts et les ajouter à la phase, cliquez sur Sélectionner un artefact.

      Sélectionnez une ressource d'artefact existante dans le projet DevOps. L'artefact doit être de type fichier générique (universel). Les paramètres dans l'artefact doivent être au format JSON et peuvent contenir des espaces réservés. Vous devez cocher la case Allow parameterization lors de la configuration de la ressource d'artefact DevOps afin de remplacer les espaces réservés par la valeur d'argument lors du déploiement. Pour plus d'informations, reportez-vous à Configuration des paramètres.

      Voici un exemple de contenu d'artefact générique pour transmettre deux paramètres définis par l'utilisateur et leurs valeurs :
      • Paramètres : test_name, app_version
      • Valeurs : {"test_name":"verify_production", "app_version":"${app_version}"}
    8. Pour Mode d'exécution de phase, sélectionnez une exécution asynchrone ou synchrone.

      Si vous sélectionnez Exécuter de manière asynchrone, le service appelle la fonction mais n'attend pas qu'elle se termine. Lorsque vous sélectionnez Exécuter de manière synchrone, le service appelle la fonction et attend qu'elle se termine.

    9. Choisissez de désactiver ou d'activer la validation.

      Si la validation est activée, le service vérifie la valeur renvoyée par la fonction. La valeur renvoyée est un littéral de chaîne au format UTF-8, true ou false. Si la valeur renvoyée est true, la phase est réussi. Sinon, elle est en échec.

      Si la validation est désactivée, le service ne vérifie pas la valeur renvoyée.

      La validation n'a lieu que si vous avez sélectionné l'option Exécuter de manière synchronique pour le mode d'exécution de phase.

    10. (Facultatif) Pour ajouter des balises au pipeline, cliquez sur Afficher les options de balisage. Le balisage est un système de métadonnées permettant d'organiser et de suivre les ressources dans la location.

      Si vous êtes autorisé à créer une ressource, vous disposez également des droits d'accès nécessaires pour lui ajouter des balises à format libre.

      Pour ajouter une balise définie, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise.

      Pour plus d'informations, reportez-vous à Balises de ressource.

    11. Pour ajouter la phase d'intégration au pipeline, cliquez sur Ajouter.
    Pour déployer la sortie de build vers l'environnement cible, exécutez le pipeline de déploiement.

    Pour déclencher automatiquement un déploiement à partir du pipeline de build, vous pouvez ajouter une étape de déclenchement de déploiement au pipeline de build.

  • Pour appeler une fonction dans le pipeline, exécutez la commande create-invoke-function-stage :

    oci devops deploy-stage create-invoke-function-stage

    Paramètres requis pour la commande create-invoke-function-stage :

    • --function-environment-id
    • --is-async
    • --is-validation-enabled
    • --pipeline-id
    • --stage-predecessor-collection

    Afin d'obtenir toutes les commandes pour deploy-pipeline et deploy-stage, exécutez la commande suivante :

    oci devops deploy-pipeline -h
    oci devops deploy-stage -h

    Pour obtenir l'aide relative à la commande create-invoke-function-stage, exécutez la commande suivante :

    oci devops deploy-stage create-invoke-function-stage -h
  • Pour appeler une fonction dans le pipeline, utilisez l'opération CreateDeployStage. Pour l'attribut deployStageType, indiquez la valeur INVOKE_FUNCTION.