Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Vous pouvez créer, tester et déployer des applications Node.js dans le cadre de votre système d’intégration continue et de livraison continue (CI/CD) Azure Pipelines. Découvrez comment utiliser un pipeline pour créer un package Node.js avec node Package Manager (npm) et publier un artefact de pipeline.
L’exemple de pipeline automatise le processus de création, de test et d’empaquetage d’une application Node.js, ce qui le rend prêt pour un déploiement ou une distribution supplémentaires.
Prérequis
Produit | Exigences |
---|---|
Azure DevOps | - Un projet Azure DevOps . - Possibilité d’exécuter des pipelines sur des agents hébergés par Microsoft. Vous pouvez acheter un travail parallèle ou demander un niveau gratuit. - Connaissance de base de YAML et d’Azure Pipelines. Pour plus d’informations, consultez Créer votre premier pipeline. - Autorisations : - Pour créer un pipeline : vous devez être dans le groupe Contributeurs et le groupe doit avoir l'autorisation Créer un pipeline de construction définie sur Autoriser. Les membres du groupe Administrateurs de projet peuvent gérer les pipelines. - Pour créer des connexions de service : vous devez avoir le rôle Administrateur ou Créateur pour les connexions de service. |
Lien avec GitHub | - Un compte GitHub . - Connexion de service GitHub pour autoriser Azure Pipelines. |
Microsoft Azure | Un abonnement Azure. |
Produit | Exigences |
---|---|
Azure DevOps | - Un projet Azure DevOps . - Un agent auto-hébergé. Pour en créer un, consultez les agents auto-hébergés. - Connaissance de base de YAML et d’Azure Pipelines. Pour plus d’informations, consultez Créer votre premier pipeline. - Autorisations : - Pour créer un pipeline : vous devez être dans le groupe Contributeurs et le groupe doit avoir l'autorisation Créer un pipeline de construction définie sur Autoriser. Les membres du groupe Administrateurs de projet peuvent gérer les pipelines. - Pour créer des connexions de service : vous devez avoir le rôle Administrateur ou Créateur pour les connexions de service. |
Lien avec GitHub | - Un compte GitHub . - Connexion de service GitHub pour autoriser Azure Pipelines. |
Microsoft Azure | Un abonnement Azure. |
Préparez l’exemple de code
Forker l'exemple d’application de serveur Express.js.
- Accédez au référentiel js-e2e-express-server .
- Sélectionnez Fork dans le coin supérieur droit de la page.
- Sélectionner votre compte GitHub. Par défaut, le fork est nommé identique au référentiel parent, mais vous pouvez lui donner un nom différent.
Importante
Pendant les procédures suivantes, vous pouvez être invité à créer une connexion de service GitHub ou à vous rediriger vers GitHub pour vous connecter, installer Azure Pipelines ou autoriser Azure Pipelines. Suivez les instructions à l’écran pour terminer le processus. Pour plus d’informations, veuillez consulter la section Accès aux référentiels GitHub.
Créer votre pipeline
- Dans votre projet Azure DevOps, sélectionnez Pipelines>Créer un pipeline, puis GitHub comme emplacement de votre code source.
- Dans l’écran Sélectionner un référentiel, sélectionnez votre référentiel d'exemple bifurqué.
- Dans l’écran Configurer votre pipeline, sélectionnez Pipeline de démarrage. Azure Pipelines génère un fichier YAML nommé azure-pipelines.yml pour votre pipeline.
- Sélectionnez la flèche déroulante à côté de Enregistrer et exécuter, sélectionnez Enregistrer, puis sélectionnez à nouveau Enregistrer. Le fichier est enregistré dans le dépôt GitHub que vous avez forké.
- Dans l’écran suivant, sélectionnez Modifier.
Générer le package et publier un artefact
Modifiez le fichier azure-pipelines.yml comme suit.
Remplacez le contenu du fichier par le code suivant.
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'
Dans le pipeline mis à jour, vous allez pouvoir :
- Installer Node.js: la tâche UseNode@1 installe la version Node.js spécifiée (18.x).
- Installer les dépendances : la commande npm install installe les dépendances requises pour le projet Node.js.
- Générez le projet : la commande npm run build génère le projet Node.js.
- Exécuter des tests : la commande de test npm exécute la suite de tests du projet.
- Copier des fichiers : la tâche CopyFiles@2 copie les fichiers projet nécessaires (par exemple,
src/**
etpublic/**
) dans le répertoire intermédiaire de l’artefact. - Publier l’artefact de pipeline : la tâche PublishPipelineArtifact@1 publie les fichiers à partir du répertoire intermédiaire de l’artefact en tant qu’artefact de pipeline nommé nodejs-app.
Exécuter votre pipeline
Sélectionnez Valider et enregistrer, puis Enregistrer, Exécuter et réexécuter .
Une fois votre pipeline exécuté, vérifiez que le travail s’est correctement exécuté et qu’un artefact publié apparaît.
Félicitations, vous avez créé et exécuté un pipeline qui a généré et testé un package Node.js. Pour étendre votre pipeline, vous pouvez :
- Déployer sur une plateforme cloud avec un service tel qu’Azure App Service
- Publier en tant que paquet NPM
- Déployer un service d’hébergement statique comme Azure Static Web Apps
- Conteneuriser et déployer Azure Kubernetes Service ou d’autres plateformes d’orchestration de conteneurs