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 filepackage.json
etest.js
. - Assicurati che il file
package.json
includa uno scriptstart
e uno scripttest
. - 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'immaginenode
di Docker Hub è utilizzata da Cloud Build per eseguire l'attività. Quando specifichi l'immaginenode
, 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 ename: node:12
utilizzerànode:12
. Il campo
entrypoint
specifica che lo strumentonpm
oyarn
viene utilizzato quando viene richiamata l'immaginenode
.
npm
steps:
- name: node
entrypoint: npm
filato
steps:
- name: node
entrypoint: yarn
Configurazione di Node.js
build
Nella directory principale del progetto, crea un file di configurazione denominato
cloudbuild.yaml
.Installa le dipendenze: prima di poter creare l'applicazione, devi assicurarti che tutte le dipendenze del progetto siano installate da
npm
oyarn
. Puoi installare le dipendenze utilizzando il comandoinstall
all'interno del passaggio di buildnpm
oyarn
. Il campoargs
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, aggiungiinstall
al campoargs
per richiamare il comandoinstall
:npm
steps: - name: node entrypoint: npm args: ['install']
filato
steps: - name: node entrypoint: yarn args: ['install']
Aggiungi test: se hai definito uno script
test
inpackage.json
, puoi configurare Cloud Build per l'esecuzione dello script aggiungendotest
al campoargs
: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']
Esegui comandi personalizzati: se
package.json
contiene comandi personalizzati, puoi configurare Cloud Build per l'esecuzione del comando in questione. Nel campoargs
, aggiungirun
come primo argomento seguito dal nome del comando personalizzato. Il seguente file di configurazione della build contiene argomenti per eseguire un comando personalizzato denominatobuild
: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']
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 comandogcloud 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:
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']
Per ogni versione di
node
su cui desideri creare una build, crea un trigger di build seguendo questi passaggi:Apri la pagina Trigger in Google Cloud Console:
Seleziona il progetto nel menu a discesa del selettore di progetti nella parte superiore della pagina.
Fai clic su Apri.
Fai clic su Crea trigger.
Nella pagina Crea trigger, inserisci le seguenti impostazioni:
Inserisci un nome per l'attivatore.
Seleziona l'evento del repository per avviare il trigger.
Seleziona il repository contenente il codice sorgente e il file di configurazione della build.
Specifica l'espressione regolare per il nome del ramo o del tag che avvierà l'attivatore.
Configurazione: scegli il file di configurazione della build creato in precedenza.
In Variabili di sostituzione, fai clic su Aggiungi variabile.
- In Variabile, specifica la variabile
node
utilizzata nel file di configurazione della build, mentre in Valore specifica la versione delnode
. Ad esempio,_NODE_VERSION
e12
.
- In Variabile, specifica la variabile
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 connpm
. - node-example-yarn: un'app
Node.js
e un file di configurazione di esempio per creare l'app conyarn
. - 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
- Scopri come creare immagini container.
- Scopri come creare applicazioni Go.
- Scopri come risolvere gli errori di build.