Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Вы можете создавать, тестировать и развертывать приложения Node.js в рамках системы непрерывной интеграции Azure Pipelines и непрерывной доставки (CI/CD). Узнайте, как использовать конвейер для создания пакета Node.js с помощью npm и опубликовать артефакт конвейера.
Пример конвейера автоматизирует процесс создания, тестирования и упаковки приложения Node.js, что делает его готовым к дальнейшему развертыванию или распространению.
Предварительные условия
Продукт | Требования |
---|---|
Azure DevOps | - Проект Azure DevOps. — способность запуска потоков на хостинговых агентах Microsoft. Вы можете приобрести параллельное задание или запросить уровень "Бесплатный". — Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в разделе Создайте ваш первый конвейер. Разрешения - : — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами. — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб. |
GitHub | — учетная запись GitHub. - Подключение службы GitHub для авторизации Azure Pipelines. |
Лазурный | Подписка Azure |
Продукт | Требования |
---|---|
Azure DevOps | - Проект Azure DevOps. — Самостоятельно размещённый агент. Сведения о создании см. в разделе "Локальные агенты". — Базовые знания о YAML и Azure Pipelines. Дополнительные сведения см. в разделе Создайте ваш первый конвейер. Разрешения - : — Чтобы создать конвейер: необходимо быть в группе Участников, и у группы должно быть разрешение создать конвейер сборки установлено на "Разрешить". Члены группы "Администраторы проектов" могут управлять конвейерами. — Для создания подключений к службам необходимо иметь роль администратора или создателя для подключений служб. |
GitHub | — учетная запись GitHub. - Подключение службы GitHub для авторизации Azure Pipelines. |
Лазурный | Подписка Azure |
Сделайте форк примера кода
Создайте форк примерного серверного приложения на Express.js.
- Перейдите в репозиторий js-e2e-express-server .
- Выберите Fork в правом верхнем углу страницы.
- Выберите учетную запись GitHub. По умолчанию форк называется так же, как родительский репозиторий, но вы можете присвоить ему другое имя.
Внимание
В следующих процедурах вам может быть предложено создать соединение службы GitHub или вы будете перенаправлены на GitHub для входа в систему, установки Azure Pipelines или авторизации Azure Pipelines. Следуйте инструкциям на экране, чтобы завершить процесс. Дополнительные сведения см. в разделе Доступ к репозиториям GitHub.
Создание конвейера
- В проекте Azure DevOps выберите Pipelines>, а затем выберите GitHub в качестве расположения исходного кода.
- На экране "Выбор репозитория" выберите форк вашего образца репозитория.
- На экране "Настройка конвейера" выберите "Начальный конвейер". Azure Pipelines создает файл YAML с именем azure-pipelines.yml для конвейера.
- Выберите раскрывающийся список рядом с пунктом "Сохранить и запустить", нажмите кнопку "Сохранить", а затем снова нажмите кнопку "Сохранить ". Файл сохранён в ваш форкнутый репозиторий GitHub.
- На следующем экране нажмите кнопку "Изменить".
Создание пакета и публикация артефакта
Измените файл azure-pipelines.yml следующим образом.
Замените содержимое файла следующим кодом.
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'
В обновленном конвейере вы:
- Установка Node.js: задача UseNode@1 устанавливает указанную версию Node.js (18.x).
- Установка зависимостей: команда установки npm устанавливает необходимые зависимости для проекта Node.js.
- Создание проекта: команда npm run build создает проект Node.js.
- Выполнение тестов: команда теста npm запускает набор тестов проекта.
- Копирование файлов: задача CopyFiles@2 копирует необходимые файлы проекта (например,
src/**
иpublic/**
) в промежуточный каталог артефакта. - Публикация артефакта конвейера: задача PublishPipelineArtifact@1 публикует файлы из каталога промежуточного хранения артефактов в качестве артефакта конвейера с именем nodejs-app.
Запустите ваш конвейер
Выберите "Проверить и сохранить", а затем "Сохранить", " Запустить" и " Выполнить снова".
После выполнения конвейера убедитесь, что задача была успешно завершена, и убедитесь, что виден опубликованный артефакт.
Поздравляем, вы успешно создали и запустили конвейер, который создал и проверил пакет Node.js. Чтобы расширить конвейер, можно:
- Развертывание на облачной платформе с помощью службы, такой как Служба приложений Azure
- Публикация в виде пакета NPM
- Развертывание статической службы размещения, например статических веб-приложений Azure
- Контейнеризация и развертывание службы Azure Kubernetes или других платформ оркестрации контейнеров