Kompilowanie i publikowanie pakietu Node.js
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
W tym szybkim przewodniku utworzysz pakiet Node.js za pomocą Node Package Manager (npm) i opublikujesz artefakt przepływu pracy. Dowiesz się, jak używać usługi Azure Pipelines do kompilowania, wdrażania i testowania aplikacji JavaScript.
Wymagania wstępne
- Konto usługi GitHub, na którym można utworzyć repozytorium. Utwórz bezpłatne konto usługi GitHub.
- Organizacja: Azure DevOps. Utwórz je bezpłatnie.
- Projekt usługi Azure DevOps. Utwórz go przy użyciu Kreatora tworzenia projektu usługi Azure DevOps.
- Możliwość uruchamiania potoków na agentach zarządzanych przez Microsoft. Musisz zażądać bezpłatnego udzielenia zadań równoległych lub kupić zadanie równoległe.
- Konto usługi GitHub, na którym można utworzyć repozytorium. Utwórz bezpłatne konto usługi GitHub.
- Organizacja: Azure DevOps. Utwórz je bezpłatnie.
- Projekt usługi Azure DevOps. Utwórz go przy użyciu Kreatora tworzenia projektu usługi Azure DevOps.
- Samodzielnie hostowany agent. Aby utworzyć taki, zobacz Self-hosted agents.
Rozgałęź przykładowy kod
Sforkuj przykładową aplikację serwera Express.js.
- Przejdź do repozytorium js-e2e-express-server .
- Wybierz Fork w prawym górnym rogu strony.
- Wybierz konto usługi GitHub. Domyślnie rozwidlenie ma taką samą nazwę jak repozytorium nadrzędne, ale można nadać mu inną nazwę.
Ważne
Podczas poniższych procedur może zostać wyświetlony monit o utworzenie połączenia usługi GitHub lub przekierowanie do usługi GitHub w celu zalogowania się, zainstalowania usługi Azure Pipelines lub autoryzowania usługi Azure Pipelines. Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby ukończyć proces. Aby uzyskać więcej informacji, zobacz Dostęp do repozytoriów GitHub.
Utwórz swój potok danych
- W projekcie usługi Azure DevOps wybierz opcję Potoki>Utwórz potok, a następnie wybierz GitHub jako lokalizację kodu źródłowego.
- Na ekranie Wybierz repozytorium wybierz sforkowane przykładowe repozytorium.
- Na ekranie Konfigurowanie potoku wybierz pozycję Potok startowy. Azure Pipelines generuje plik YAML o nazwie azure-pipelines.yml dla pipeline'u.
- Wybierz znacznik listy rozwijanej obok Zapisz i uruchom, wybierz Zapisz, a następnie ponownie wybierz Zapisz. Plik jest zapisywany w sforkowanym repozytorium GitHub.
- Na następnym ekranie wybierz pozycję Edytuj.
Kompilowanie pakietu i publikowanie artefaktu
Edytuj plik azure-pipelines.yml w następujący sposób.
Zastąp zawartość pliku następującym kodem. Kod aktualizuje zadanie instalatora narzędzia Node.js, aby używać Node.js wersji 16 LTS.
trigger: - main pool: vmImage: 'ubuntu-latest' steps: - task: UseNode@1 inputs: version: '16.x' displayName: 'Install Node.js' - script: | npm install displayName: 'npm install' - script: | npm run build displayName: 'npm build' - script: npm test displayname: 'npm test'
Dodaj następujące nowe zadania do potoku zadań:
Zadanie kopiowania plików kopiuje pliki z folderów src i public do wydzielonego katalogu artefaktów kompilacji.
Zadanie publikowania artefaktu potoku pobiera pliki z lokalizacji przejściowej artefaktu i publikuje je jako artefakty do wykorzystania w kompilacjach potoku.
- task: CopyFiles@2 inputs: sourceFolder: '$(Build.SourcesDirectory)' contents: | src/* public/* targetFolder: '$(Build.ArtifactStagingDirectory)' displayName: 'Copy project files' - task: PublishPipelineArtifact@1 inputs: artifactName: e2e-server targetPath: '$(Build.ArtifactStagingDirectory)' publishLocation: 'pipeline' displayName: 'Publish npm artifact'
Uruchom swój potok
Wybierz pozycję Zweryfikuj i zapisz, a następnie wybierz pozycję Zapisz, wybierz pozycję Uruchom, a następnie wybierz pozycję Uruchom ponownie.
Po zakończeniu działania procesu, sprawdź, czy zadanie zakończyło się pomyślnie i czy artefakt został opublikowany.
Gratulacje, pomyślnie utworzono i uruchomiono potok, który skompilował i przetestował pakiet Node.js. Aplikacje Node.js można tworzyć, testować i wdrażać w ramach systemu ciągłej integracji i ciągłego dostarczania (CI/CD) usługi Azure Pipelines.