Creazione di applicazioni Node.js

Questa pagina descrive come configurare Cloud Build per creare e testare le tue applicazioni Node.js.

Cloud Build ti consente di utilizzare qualsiasi immagine container disponibile pubblicamente per eseguire le tue attività. L'immagine node pubblica di Docker Hub è preinstallata con strumenti npm e yarn. Puoi configurare Cloud Build per creare il tuo progetto Node.js con questi strumenti.

Prima di iniziare

Le istruzioni riportate in questa pagina presuppongono la tua conoscenza di Node.js. Inoltre:

  • Tieni il tuo progetto Node.js a portata di mano, inclusi i file package.json e test.js.
  • Assicurati che il file package.json includa uno script start e uno script test.
  • Per eseguire i comandi gcloud in questa pagina, installa l'interfaccia a riga di comando di Google Cloud.

Edificio con npm o yarn

Per eseguire le attività nell'immagine node da Docker Hub, specifica l'URL dell'immagine nel campo name nel file di configurazione di Cloud Build. Cloud Build avvia il container specificato nel campo name utilizzando il punto di ingresso predefinito di image'. Per sostituire il punto di contatto predefinito e definire come eseguire il passaggio di build quando viene richiamato, aggiungi un campo entrypoint al passaggio di build. L'immagine node in Docker Hub è preinstallata con gli strumenti npm e yarn. Specifica gli strumenti nel campo entrypoint per richiamarli come punto di ingresso del passaggio della build.

Nell'esempio seguente, crea un file di configurazione:

  • Il campo name specifica che l'immagine node di Docker Hub è utilizzata da Cloud Build per eseguire l'attività. Quando specifichi l'immagine node, puoi omettere la versione del nodo per impostazione predefinita per :latest oppure specificare una versione nodo per utilizzare una versione specifica. Ad esempio, name: node utilizzerà la versione più recente di nodo e name: node:12 utilizzerà node:12.
  • Il campo entrypoint specifica che lo strumento npm o yarn viene utilizzato quando viene richiamata l'immagine node.

npm

  steps:
  - name: node
    entrypoint: npm

filato

  steps:
  - name: node
    entrypoint: yarn

Configurazione di Node.js build

  1. Nella directory principale del progetto, crea un file di configurazione denominato cloudbuild.yaml.

  2. Installa le dipendenze: prima di poter creare l'applicazione, devi assicurarti che tutte le dipendenze del progetto siano installate da npm o yarn. Puoi installare le dipendenze utilizzando il comando install all'interno del passaggio di build npm o yarn. Il campo args di un passaggio di build acquisisce un elenco di argomenti e li passa all'immagine a cui fa riferimento il campo del nome. Nel file di configurazione della build, aggiungi install al campo args per richiamare il comando install:

    npm

    steps:
    - name: node
      entrypoint: npm
      args: ['install']
    

    filato

    steps:
    - name: node
      entrypoint: yarn
      args: ['install']
    
  3. Aggiungi test: se hai definito uno script test in package.json, puoi configurare Cloud Build per l'esecuzione dello script aggiungendo test al campo args:

    npm

    steps:
    - name: node
      entrypoint: npm
      args: ['install']
    - name: node
      entrypoint: npm
      args: ['test']
    

    filato

    steps:
    - name: node
      entrypoint: yarn
      args: ['install']
    - name: node
      entrypoint: yarn
      args: ['test']
    
  4. Esegui comandi personalizzati: se package.json contiene comandi personalizzati, puoi configurare Cloud Build per l'esecuzione del comando in questione. Nel campo args, aggiungi run come primo argomento seguito dal nome del comando personalizzato. Il seguente file di configurazione della build contiene argomenti per eseguire un comando personalizzato denominato build:

    npm

    steps:
    - name: node
      entrypoint: npm
      args: ['install']
    - name: node
      entrypoint: npm
      args: ['test']
    - name: node
      entrypoint: npm
      args: ['run', 'build']
    

    filato

    steps:
    - name: node
      entrypoint: yarn
      args: ['install']
    - name: node
      entrypoint: yarn
      args: ['test']
    - name: node
      entrypoint: yarn
      args: ['run', 'build']
    
  5. Avvia la build utilizzando il file di configurazione della build:

    gcloud builds submit --region=REGION --config [CONFIG_FILE_PATH] [SOURCE_DIRECTORY]
    

    Dove:

    • [CONFIG_FILE_PATH] è il percorso del file di configurazione della build.
    • [SOURCE_DIRECTORY] è il percorso o l'URL del codice sorgente.
    • [REGION] è una delle aree geografiche di build supportate.

    Se non specifichi [CONFIG_FILE_PATH] e [SOURCE_DIRECTORY] nel comando gcloud builds submit, Cloud Build presuppone che il file di configurazione e il codice sorgente si trovino nella directory di lavoro corrente.

Esecuzione di test su più versioni di node

A volte è necessario assicurarsi che il progetto funzioni in più versioni di node. Puoi creare e configurare trigger di Cloud Build in modo che:

  • Nel file di configurazione della build, specifica la versione node come variabile di sostituzione.
  • Crea un trigger per ogni versione di node in base alla quale vuoi creare la tua applicazione.
  • In ciascuna delle impostazioni di attivazione, utilizza il campo del valore della variabile di sostituzione per indicare la versione di node per tale attivatore.

I passaggi seguenti spiegano come specificare la versione node utilizzando le variabili di sostituzione specifiche dell'attivatore:

  1. Nella directory principale del repository, aggiungi un file di configurazione della build, che specifica la versione node come variabile di sostituzione. Nell'esempio di file di configurazione di compilazione seguente, $_NODE_VERSION è una variabile di sostituzione definita dall'utente:

    npm

    steps:
    - name: node:$_NODE_VERSION
      entrypoint: npm
      args: ['install']
    - name: node:$_NODE_VERSION
      entrypoint: npm
      args: ['test']
    

    filato

    steps:
    - name: node:$_NODE_VERSION
      entrypoint: yarn
      args: ['install']
    - name: node:$_NODE_VERSION
      entrypoint: yarn
      args: ['test']
    
  2. Per ogni versione di node su cui desideri creare una build, crea un trigger di build seguendo questi passaggi:

    1. Apri la pagina Trigger in Google Cloud Console:

      Apri la pagina Attivatori

    2. Seleziona il progetto nel menu a discesa del selettore di progetti nella parte superiore della pagina.

    3. Fai clic su Apri.

    4. Fai clic su Crea trigger.

      Nella pagina Crea trigger, inserisci le seguenti impostazioni:

      1. Inserisci un nome per l'attivatore.

      2. Seleziona l'evento del repository per avviare il trigger.

      3. Seleziona il repository contenente il codice sorgente e il file di configurazione della build.

      4. Specifica l'espressione regolare per il nome del ramo o del tag che avvierà l'attivatore.

      5. Configurazione: scegli il file di configurazione della build creato in precedenza.

      6. In Variabili di sostituzione, fai clic su Aggiungi variabile.

        1. In Variabile, specifica la variabile node utilizzata nel file di configurazione della build, mentre in Valore specifica la versione del node. Ad esempio, _NODE_VERSION e 12.
    5. Fai clic su Crea per salvare il trigger di build.

Puoi utilizzare questi trigger per creare il tuo codice nella versione di node specificata nell'attivatore.

Esempi di codice

Di seguito sono riportati alcuni repository di esempio, ognuno dei quali contiene un'applicazione Node.js di esempio e un file di configurazione della build per creare e testare l'applicazione:

  • node-example-npm: un'app Node.js e un file di configurazione di esempio di esempio per creare l'app con npm.
  • node-example-yarn: un'app Node.js e un file di configurazione di esempio per creare l'app con yarn.
  • più-nodi-versioni-esempio: un esempio con un file di configurazione della build per creare l'app in base a più versioni di node.

Passaggi successivi