Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
È possibile compilare, testare e distribuire app Node.js come parte del sistema di integrazione continua e recapito continuo (CI/CD) di Azure Pipelines. Informazioni su come usare una pipeline per creare un pacchetto Node.js con Node Package Manager (npm) e pubblicare un artefatto della pipeline.
La pipeline di esempio automatizza il processo di compilazione, test e creazione di pacchetti di un'applicazione Node.js, rendendola pronta per un'ulteriore implementazione o distribuzione.
Prerequisiti
Prodotto | Requisiti |
---|---|
Azure DevOps | - Un progetto Azure DevOps. - La possibilità di eseguire pipeline su agenti ospitati da Microsoft. È possibile acquistare un incarico parallelo oppure richiedere un piano gratuito. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Azzurro | Una sottoscrizione di Azure. |
Prodotto | Requisiti |
---|---|
Azure DevOps | - Un progetto Azure DevOps. - Agente autogestito. Per crearne uno, vedere la sezione su Agenti self-hosted. - Conoscenza di base di YAML e Azure Pipelines. Per maggiori informazioni, vedere Creare la prima pipeline. Autorizzazioni - : - Per creare una pipeline, è necessario trovarsi nel gruppo Collaboratori e il gruppo deve avere l'autorizzazione Crea pipeline di compilazione impostata su Consenti. I membri del gruppo Project Administrators possono gestire le pipeline. - Per creare connessioni al servizio: è necessario disporre del ruolo di Administrator o Creator per le connessioni al servizio . |
GitHub | - Un account GitHub. - Una connessione al servizio GitHub per autorizzare Azure Pipelines. |
Azzurro | Una sottoscrizione di Azure. |
Esegui un fork del codice di esempio
Effettuare un fork dell'app server di esempio Express.js.
- Vai al repository js-e2e-express-server.
- Selezionare Fork nell'angolo superiore destro della pagina.
- Selezionare l'account GitHub. Per impostazione predefinita, il fork è denominato uguale al repository padre, ma è possibile assegnargli un nome diverso.
Importante
Durante le procedure seguenti, potrebbe essere richiesto di creare una connessione al servizio GitHub o reindirizzare a GitHub per accedere, installare Azure Pipelines o autorizzare Azure Pipelines. Seguire le istruzioni visualizzate sullo schermo per completare il processo. Per altre informazioni, vedere Accedere ai repository GitHub.
Crea la tua pipeline
- YAML
- Classico
- Nel progetto Azure DevOps selezionare Pipeline>Crea pipeline, quindi selezionare GitHub come percorso del codice sorgente.
- Nella schermata Selezionare un repository, selezionare il repository di esempio creato tramite fork.
- Nella schermata Configura la pipeline, selezionare Pipeline di base. Azure Pipelines genera un file YAML denominato azure-pipelines.yml per la pipeline.
- Selezionare il cursore a discesa accanto a Salva ed esegui, selezionare Salva e quindi selezionare di nuovo Salva . Il file viene salvato nel tuo repository GitHub forkato.
- Nella schermata successiva selezionare Modifica.
Compilare il pacchetto e pubblicare un artefatto
Modificare il file azure-pipelines.yml come indicato di seguito.
Sostituire il contenuto del file con il codice seguente.
trigger: - main pool: vmImage: 'ubuntu-latest' variables: nodeVersion: '18.x' steps: # Install Node.js - task: UseNode@1 inputs: version: $(nodeVersion) displayName: 'Install Node.js' # Install dependencies - script: | npm install displayName: 'Install dependencies' # Build the project - script: | npm run build displayName: 'Build project' # Run tests - script: | npm test displayName: 'Run tests' # Copy project files to artifact staging directory - task: CopyFiles@2 inputs: sourceFolder: '$(Build.SourcesDirectory)' contents: | src/** public/** targetFolder: '$(Build.ArtifactStagingDirectory)' displayName: 'Copy project files' # Publish pipeline artifact - task: PublishPipelineArtifact@1 inputs: artifactName: 'nodejs-app' targetPath: '$(Build.ArtifactStagingDirectory)' displayName: 'Publish pipeline artifact'
Nella pipeline aggiornata, farai quanto segue:
- Installa Node.js: l'attività UseNode@1 installa la versione Node.js specificata (18.x).
- Installare le dipendenze: il comando npm install installa le dipendenze necessarie per il progetto Node.js.
- Compilare il progetto: il comando npm run build compila il progetto Node.js.
- Esegui test: il comando npm test esegue il gruppo di test del progetto.
- Copia file: L'attività CopyFiles@2 copia i file di progetto necessari (ad esempio,
src/**
epublic/**
) nella directory di staging degli artefatti. - Pubblicare l'artefatto della pipeline: l'attività PublishPipelineArtifact@1 pubblica i file dalla directory di staging dell'artefatto come artefatto della pipeline denominato nodejs-app.
Esegui la tua pipeline
Selezionare Convalida e salva, quindi Salva, Esegui ed Esegui di nuovo.
Dopo l'esecuzione della pipeline, verificare che il processo sia stato eseguito correttamente e che venga visualizzato un artefatto pubblicato.
Congratulazioni, hai creato ed eseguito con successo una pipeline che ha compilato e testato un pacchetto Node.js. Per ampliare la pipeline, puoi:
- Eseguire la distribuzione in una piattaforma cloud con un servizio come Servizio app di Azure
- Pubblicare come pacchetto NPM
- Distribuire un servizio di hosting statico come App Web statiche di Azure
- Containerizzare e distribuire il servizio Azure Kubernetes o altre piattaforme di orchestrazione dei contenitori