+
This commit is contained in:
55
Jenkinsfile
vendored
Normal file
55
Jenkinsfile
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
APP_NAME = "kz_istransit_jwt"
|
||||
IMAGE_NAME = "myrepo/kz_istransit_jwt"
|
||||
DOCKER_REGISTRY = "my-docker-registry.com" // Укажите свой Docker Registry
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
git branch: 'main', url: 'git@github.com:your-repo.git'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build JAR') {
|
||||
steps {
|
||||
script {
|
||||
sh './mvnw clean package -DskipTests'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build Docker Image') {
|
||||
steps {
|
||||
script {
|
||||
sh "docker build -t ${IMAGE_NAME}:latest ."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Push to Registry') {
|
||||
steps {
|
||||
withDockerRegistry([credentialsId: 'docker-hub-credentials', url: "https://${DOCKER_REGISTRY}"]) {
|
||||
sh "docker tag ${IMAGE_NAME}:latest ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest"
|
||||
sh "docker push ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Deploy') {
|
||||
steps {
|
||||
sshagent(['ssh-server-credentials']) {
|
||||
sh """
|
||||
ssh user@remote-server "docker pull ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest &&
|
||||
docker stop ${APP_NAME} || true &&
|
||||
docker rm ${APP_NAME} || true &&
|
||||
docker run -d --name ${APP_NAME} -p 8080:8080 -v /opt/kz_istransit_jwt/config.yml:/app/config.yml ${DOCKER_REGISTRY}/${IMAGE_NAME}:latest"
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user