Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Вы можете создавать, тестировать и развертывать приложения 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 или других платформ оркестрации контейнеров