Un mémo sur l'exécution d'Azure Functions × Node.js × Typescript avec Docker sur l'environnement virtuel local et le débogage à partir de VSCode

Aperçu

Lorsque je faisais le didacticiel Azure «[Deploy Azure Functions from Visual Studio Code] [* 1]» Une erreur s'est produite lors de l'exécution de la fonction localement. Comme cela dépend de la version de Node, la fonction est exécutée localement sur Docker. Il a fallu beaucoup de temps pour vérifier les paramètres d'exécution du débogage, je vais donc le laisser sous forme de mémorandum.

Source à ce stade

environnement

Préparation des outils

choco install azure-functions-core-tools-3 --params "'/x64'" -y

La source

Paramètres de Docker

docker/functions/Dockerfile


# docker-Obtenir un conteneur avec un nœud du hub
# https://hub.docker.com/_/node/
FROM node:12.19.0
WORKDIR /app
#Installation d'outils
RUN npm i -g azure-functions-core-tools@3 --unsafe-perm true
#Fonctions d'installation
COPY ./package.json /app/package.json
RUN npm install

docker/docker-compose.yml


version: "3.8"
services:
  az-functions:
    build: ./functions
    volumes:
      - ../HttpExample:/app/HttpExample
      - ../tsconfig.json:/app/tsconfig.json
      - ../local.settings.json:/app/local.settings.json
    ports:
      - 9229:9229
      - 7071:7071
    working_dir: /app
    command: [npm, run, start]

Paramètres de débogage

Lors du débogage à partir de vscode, je ne pouvais pas le faire exactement comme il a été créé dans Création d'un projet.

json:.vscode/launch.json


{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Vagrant - Docker: Attach to Node Functions",
      "type": "node",
      "request": "attach",
      "remoteRoot": "/app",
      "address": "192.168.50.10",
      "port": 9229,
      "protocol": "auto",
    }
  ]
}

json:local.settings.json


{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "languageWorkers:node:arguments": "--inspect=0.0.0.0:9229"
  }
}

référence

[Docker + Node.js Debug Visual Studio Code] [* 5] [Déployer Azure Functions à partir de Visual Studio Code] [* 1] [Fonctions de débogage local] [* 2] Azure Functions Core Tools node debug guide [Lorsque https dans la liste des sources ne peut pas être obtenu dans Debian] [* 4] lsb_release: command not found in latest Ubuntu Docker container [Application de débogage Node.js avec Visual Studio Code (attachement de processus local / débogage à distance)] [* 6] How to set inspect port for nodejs [Application node.js pouvant être développée à partir de Visual Studio Code (Tutoriel jusqu'à Hello World avec express + ejs)] [* 8]

Recommended Posts

Un mémo sur l'exécution d'Azure Functions × Node.js × Typescript avec Docker sur l'environnement virtuel local et le débogage à partir de VSCode
Exécutez l'environnement Docker Rails MySQL sur Heroku. concevoir et cacher l'API Twitter
Une commande qui nettoie définitivement l'environnement docker local
La version de Ruby installée par défaut sur le Mac a été référencée, pas de rbenv