<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
Annuler le déploiement d'un proxy de cibles hébergées
Lorsque vous annulez le déploiement d'un proxy Edge qui inclut une application de cibles hébergées, les propriétés L'application hébergée pour les cibles n'est pas déployée, mais l'image sous-jacente de l'application n'est pas supprimée. Si vous redéployer le proxy, l'application Hosted Targets est redéployée.
Supprimer un proxy de cibles hébergées
Une fois que vous avez supprimé un proxy de cibles hébergées, les instances d'exécution sous-jacentes cessent de s'exécuter dans un certain laps de temps. Toutefois, le code d'application est conservé.
Accéder aux fichiers journaux
Les fichiers journaux sont utiles pour le débogage et le dépannage. Vous pouvez afficher deux types de fichiers journaux pour un déploiement de cibles hébergées:
- Journal de compilation : affiche les résultats liés au déploiement et à la création d'une application de cibles hébergées.
- Runtime log (Journal d'exécution) : affiche les résultats liés à l'application Hosted Cibles en cours d'exécution. Journaux d'exécution sont limités à l'environnement et affichent les informations de journal de la révision de proxy actuellement déployée.
Accès aux journaux à partir de l'interface utilisateur Edge
- Accédez à apigee.com/edge
- Saisissez vos identifiants de connexion, puis cliquez sur Connexion.
- Sélectionnez Développer > Proxys d'API dans le menu de navigation latéral.
- Sélectionnez le proxy pour lequel vous souhaitez afficher les journaux.
- Cliquez sur l'onglet Développer.
- Pour afficher le journal de compilation, cliquez sur Build Logs (Journaux de compilation).
- Pour afficher le journal d'exécution, cliquez sur Journaux d'exécution.
Accéder aux journaux à l'aide de l'API
Vous pouvez également utiliser une API Edge pour récupérer les journaux des cibles hébergées. Pour en savoir plus, consultez Obtenir les journaux Node.js mis en cache
Utiliser un dépôt npm privé
Cette section explique comment déployer un proxy Node.js sur des cibles hébergées dans les cas où vous utilisez un dépôt NPM privé votre environnement de développement.
Ce que vous devez savoir sur l'utilisation d'un dépôt privé
Lorsque vous déployez une application Node.js sur Edge, toutes les dépendances de votre projet sont importées automatiquement
dans le processus de déploiement.
En bref, les cibles hébergées exécutent npm install
sur votre code lors de son déploiement.
Toutefois, si vous utilisez un dépôt NPM privé dans votre environnement de développement,
les dépendances ne peuvent pas être résolues dans le cloud. Dans
Dans ce cas, la solution consiste à utiliser l'option --bundled-dependencies
lorsque vous utilisez
l'utilitaire de déploiement apigeetool. Voir aussi
Déployez Node.js depuis votre système vers Edge.
Lorsque vous utilisez l'indicateur --bundled-dependencies
sur apigeetool
, votre
L'application Node.js sera importée dans des cibles hébergées et dans tous les fichiers locaux/privés répertoriés
dans le tableau bundledDependencies
dans package.json
sont compressés et importés avec le bundle.
Bien que cela ne soit pas courant, sachez que si vous mettez en miroir un dépôt NPM public en interne, votre déploiement échouera
si votre bundle de déploiement inclut un fichier .npmrc
ou package-lock.json
qui pointe
à votre miroir privé. Dans ce cas, veillez à omettre .npmrc
ou package-lock.json
.
de votre bundle de proxys que vous prévoyez de déployer.
Déployer avec un dépôt NPM privé
Pour utiliser les modules fournis à partir d'un dépôt NPM privé, procédez comme suit:
- Connectez-vous à npm:
npm login
- Obtenez un jeton d'authentification npm:
- Recherchez votre fichier .npmrc (qui devrait se trouver dans ~/.npmrc).
- Dans votre fichier .npmrc, notez le jeton à la fin de la ligne qui se présente comme suit:
//registry.npmjs.org/:_authToken=****
- Vous pouvez également utiliser les commandes
npm token <list | create | revoke>
pour répertorier, créer ou révoquer un jeton d'authentification. Voir le jeton npm-token documentation pour en savoir plus. - Accédez à la page de configuration des cartes de valeurs-clés, comme décrit ci-dessous.
Edge
Pour accéder à la page de configuration des cartes de valeurs-clés à l'aide de l'interface utilisateur Edge:
- Connectez-vous à apigee.com/edge.
- Sélectionnez Admin > Environnements > Cartes de valeurs clés dans la barre de navigation de gauche.
Classic Edge (cloud privé)
Pour accéder à la page de configuration des cartes de valeurs clés à l'aide de l'interface utilisateur Classic Edge:
- Connectez-vous à
http://ms-ip:9000
, où ms-ip est le Adresse IP ou nom DNS du nœud du serveur de gestion. - Sélectionnez API > Configuration de l'environnement > Cartes de valeurs clés dans la barre de navigation supérieure.
- Cliquez sur + Mappage de clés-valeurs.
- Dans la boîte de dialogue "Nouveau mappage de clés-valeurs", saisissez un nom, puis sélectionnez Chiffré.
- Cliquez sur Ajouter.
- Ajoutez le jeton d'authentification que vous avez précédemment localisé ou créé en tant que nouvelle entrée dans chacune des KVM. que vous venez de créer.
- Dans le fichier app.yaml, ajoutez une entrée faisant référence à la clé KVM et à la clé associé au jeton d'authentification npm. Voici un exemple :
- L'attribut de niveau supérieur name correspond au nom de l'environnement. qui sera créée.
- Le nom sous valueRef correspond à la KVM que vous utilisez créé précédemment.
- L'attribut key correspond à la clé mappée au jeton npm que vous ajouté à la KVM.
- Créez un fichier .npmrc dans le même répertoire que le fichier package.json. Ce
doit ressembler à ceci:
Si vous n'utilisez pas//registry.npmjs.org/:_authToken=${NPM_TOKEN}
registry.npmjs.org
, vous pouvez définir le champ d'application dans le fichier .npmrc en ajoutant une ligne comme celle-ci :@myscope:registry=https://mycustomregistry.example.org
Consultez également la documentation npmrc. - Importez ou mettez à jour votre proxy Node.js en incluant le fichier .npmrc et les fichiers app.yaml inclus.
- Assurez-vous que le nouveau proxy (ou celui mis à jour) se déploie et fonctionne avec le dépôt privé souhaité de ce module.
- Si le proxy ne se déploie pas, consultez les journaux de compilation pour voir si l'installation a échoué un module npm privé. Si tel est le cas :
- Assurez-vous que le fichier .npmrc est présent dans l'onglet "Développement".
- Vérifiez que votre jeton est valide (essayez d'installer le module localement en incluant le jeton). dans le kvm).
- Si vous utilisez un champ d'application personnalisé, assurez-vous qu'il est défini.
env:
- name: NPM_TOKEN
valueRef:
name: npm_store
key: private_token
Où :
Spécifier la version de NPM pour les dépendances groupées
Par défaut, NPM v4 est utilisé pour installer des dépendances groupées dans l'environnement de cibles hébergées.
Toutefois, si vous souhaitez utiliser une autre version de NPM, vous pouvez la spécifier dans le fichier NPM_VERSION
.
variable d'environnement. Vous pouvez définir cette variable dans le fichier manifeste de l'application. Pour en savoir plus, consultez Éléments du fichier manifeste.
Si vous utilisez des dépendances groupées et si vous ne spécifiez pas NPM_VERSION
, les cibles hébergées
utilise NPM v4 par défaut. Si vous n'utilisez pas de dépendances groupées, la version de NPM qui est incluse
dans l'environnement d'exécution Node.js spécifié est utilisé.
Exemple de dépendances groupées
Pour obtenir un exemple illustrant la fonctionnalité de dépendances groupées avec des cibles hébergées, consultez la section Découvrez comment créer une application Node.js avec des fonctions hébergées à l'aide de modules personnalisés.Ajouter un point de terminaison de vérification d'état
Vous avez la possibilité d'implémenter un point de terminaison de vérification de l'état pour votre application Node.js. Apigee utilise ce point de terminaison L'application Node.js commence à vérifier qu'elle est opérationnelle dans le conteneur.
Par défaut, le point de terminaison attendu par Apigee est /health
. Vous pouvez modifier le paramètre par défaut
en spécifiant le point de terminaison dans une variable d'environnement nommée
HOSTED_TARGET_HEALTH_CHECK_PATH
Vous pouvez définir cette variable dans le fichier manifeste de l'application
. Pour en savoir plus, consultez Éléments du fichier manifeste.
L'implémentation d'un point de terminaison de vérification de l'état n'est pas requise. Toutefois, si vous mettez en œuvre une vérification d'état notez les points suivants:
- Si votre application se ferme lorsque Apigee atteint le point de terminaison, elle ne démarrera pas comme prévu.
- Votre point de terminaison renvoie sans problème l'état HTTP "404 Not Found". La méthode
/health
ouHOSTED_TARGET_HEALTH_CHECK_PATH
permet uniquement de vérifier si votre application est en cours d'exécution. La réponse réelle est ignorée.
Modifier l'emplacement du cache NPM
Les versions plus récentes de Node.js utilisent une version de NPM qui utilise /root/.npm
pour le cache NPM.
Cet emplacement pose un problème pour les cibles hébergées, car cet emplacement de répertoire est en lecture seule
car l'environnement d'exécution cible hébergé utilise un système de fichiers tmpfs où seul /tmp
est accessible en écriture.
Pour contourner ce problème, vous pouvez définir la variable d'environnement npm_config_cache
dans
de votre application
app.yaml
(fichier manifeste)
dans un répertoire de /tmp
. Exemple :
runtime: node application: my-express-app env: - name: npm_config_cache value: /tmp/.npm - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
Exécuter votre application sans GPR
Par défaut, les cibles hébergées utilisent npm start
pour exécuter votre application cible hébergée. Toutefois,
Dans la tâche précédente, nous avons abordé un problème lié à l'utilisation de NPM, car les versions plus récentes tenteront d'utiliser
/root/.npm
pour le cache NPM, qui n'est pas accessible en écriture et qui se traduit par votre cible hébergée
ne démarre pas. Si la tâche précédente fonctionnera toujours, une autre option consiste à
exécuter votre application sans GPR. Pour ce faire, vous pouvez utiliser command
et
args
dans le fichier
app.yaml
file (fichier manifeste)
pour exécuter votre cible hébergée directement à l'aide de node index.js
. Exemple :
runtime: node application: my-express-app command: node args: - index.js env: - name: NODE_ENV value: production - name: LOG_LEVEL value: 3
node index.js
n'est qu'une commande
à titre d'exemple.