Дженкинс развертывает проект Angular 2+ на Tomcat

Я новичок в Jenkins, и я пытаюсь создать и развернуть свой угловой проект на Tomcat, используя Jenkins. Я не могу найти конфигурацию задания Jenkins.

Я нашел несколько полезных видео.

но это запустит npm install и npm run build и создаст папку dist с файлами

Я застрял в развертывании.

введите здесь описание изображения


person DeC    schedule 28.01.2020    source источник
comment
Позвольте мне понять это лучше. У вас угловой проект. Вы хотите собрать его и развернуть на сервере? Где этот сервер и на какой операционной системе работает Дженкинс? Где источник вашего проекта? это в Github или что-то в этом роде?   -  person Ram Kamath    schedule 28.01.2020
comment
@РамКамат, да. в настоящее время я использую ОС Windows (localhost), а проект находится в Git, а также мне нужна эта конфигурация для использования в среде Linux.   -  person DeC    schedule 28.01.2020


Ответы (2)


Если вы хотите автоматизировать этап развертывания

Jenkins предназначен для работы в качестве централизованного CD-сервера, который может доставлять артефакты в репозиторий или на сервер. В вашем случае я предполагаю, что вы используете Jenkins на той же машине, на которой вы занимаетесь разработкой. Это технически осуществимая установка. Но это не то, как он предназначен для использования. Для вас будет работать один сценарий sh или пакетный сценарий вместо целого сервера Jenkins, если вы намерены разместить повторно используемые команды в одном месте. В этом случае да, вы просто скопируете содержимое в каталог webapp или аналогичный.

Если вы намерены использовать непрерывную доставку, Jenkins — правильный инструмент. «Идеальный» поток — это машина разработки => SCM => CI => STAGING/PRD

Все четыре из них работают на разных серверах.

Вот как вы можете настроить и использовать Jenkins.

  • Создайте Jenkinsfile, добавьте его в репозиторий и зафиксируйте.
  • Настройте Jenkins, добавив новую новую задачу -> Конвейер с несколькими ветками -> Выберите SCM в качестве репозитория git -> Выберите ветки, которые вы хотите создать -> Сканировать репозиторий сейчас

Начните с приведенного ниже Jenkinsfile

pipeline {
agent any
stages {
  stage("Build Project") {
      script {
              bat "npm install"
              bat "npm run build"
            }
   }
  stage("deploy"){
     script {
             bat "<Your deploy command>"
          }
    }
}
post {
  always{
     deleteDir()   
  }
}
}

Преимущество использования такого файла Jenkins в том, что вы можете поместить его в scm и отслеживать изменения. Если у вас есть New Jenkins, вы можете просто перенастроить задание, и все этапы конвейера будут визуализированы.

Для Linux замените bat на sh.

Для получения дополнительной информации ознакомьтесь с официальным руководством https://jenkins.io/doc/book/pipeline/syntax/#pipeline-syntax

person Ram Kamath    schedule 28.01.2020

Добавьте шаг PowerShell или шаг сценария оболочки в зависимости от ОС машины сборки. Добавьте команду для копирования всех этих файлов в папку dist/ (например, copy my-angular ) и вставьте их в папку /angular в папке /webapps.

Попадание: локальный: 8080/my-angular/index.html

При необходимости вы можете перезапустить сервер tomcat

person Shubham Gorlewar    schedule 28.01.2020
comment
@ Шубхам Горлевар, спасибо за ответ. Я попробовал этот ответ, и он отлично работает, но мне нужно знать, есть ли лучшее решение, чем это. - person DeC; 28.01.2020