/
crowleed
/
api
Обзор
Документация
Войти
/
crowleed
/
api
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Jenkinsfile
56 строк
1 KB
Andy Carter
Jenkinsfile для сборки приложения
12 авг 2024, 10:18
12 авг 2024, 10:18
07bd349
Код
Авторство
О чём код?
pipeline { agent any environment { IMAGE_NAME = 'lekomance/web_api' CONTAINER_NAME = 'web_api_prod' IP_ADDRESS = '192.168.0.102' USERNAME = 'andrejgalysev' } stages { stage('Clone Repository') { steps { git 'https://gitlab.com/crowleed/api.git' } } stage('Build Docker Image') { steps { script { dockerImage = docker.build("${env.IMAGE_NAME}:latest") } } } stage('Push Docker Image') { steps { script { docker.withRegistry('https://registry.hub.docker.com', 'dockerhub-credentials') { dockerImage.push("latest") } } } } stage('Deploy to Server') { steps { sshagent(['macbook24-ssh-key']) { sh """ssh -tt ${USERNAME}@${IP_ADDRESS} << EOF docker pull ${IMAGE_NAME}:latest docker stop ${CONTAINER_NAME} || true docker rm ${CONTAINER_NAME} || true docker run -d --name ${CONTAINER_NAME} -p 3000:3000 ${IMAGE_NAME}:latest exit EOF""" } } } } post { always { cleanWs() } } }