Если вы хотите автоматизировать этап развертывания
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