fix: update Jenkinsfile with correct sshagent and deploy syntax
This commit is contained in:
43
Jenkinsfile
vendored
43
Jenkinsfile
vendored
@@ -10,7 +10,6 @@ pipeline {
|
|||||||
REMOTE_USER = 'root'
|
REMOTE_USER = 'root'
|
||||||
REMOTE_HOST = '10.5.0.116'
|
REMOTE_HOST = '10.5.0.116'
|
||||||
REMOTE_PATH = '/compose'
|
REMOTE_PATH = '/compose'
|
||||||
DOCKER_CREDENTIALS = credentials('gitea-docker-registry')
|
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('Obtener Nombre del Repositorio') {
|
stage('Obtener Nombre del Repositorio') {
|
||||||
@@ -38,11 +37,6 @@ pipeline {
|
|||||||
script {
|
script {
|
||||||
try {
|
try {
|
||||||
sh """
|
sh """
|
||||||
ls -la
|
|
||||||
ls -la src echo "Directorio src no encontrado"
|
|
||||||
ls -la src/main/docker echo "Directorio src/main/docker no encontrado"
|
|
||||||
cat .dockerignore || echo ".dockerignore no encontrado"
|
|
||||||
docker -v
|
|
||||||
docker build \
|
docker build \
|
||||||
-t ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER} .
|
-t ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER} .
|
||||||
docker tag ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER} \
|
docker tag ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER} \
|
||||||
@@ -57,9 +51,9 @@ pipeline {
|
|||||||
stage('Push to Registry') {
|
stage('Push to Registry') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
try {
|
withCredentials([usernamePassword(credentialsId: 'gitea-docker-registry', usernameVariable: 'REG_USR', passwordVariable: 'REG_PSW')]) {
|
||||||
docker.withRegistry("https://${URL_REGISTRY}", 'gitea-docker-registry') {
|
|
||||||
sh """
|
sh """
|
||||||
|
docker login ${URL_REGISTRY} -u ${REG_USR} -p ${REG_PSW}
|
||||||
docker push ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER}
|
docker push ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER}
|
||||||
docker push ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:latest
|
docker push ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:latest
|
||||||
"""
|
"""
|
||||||
@@ -85,7 +79,9 @@ services:
|
|||||||
- "traefik.http.routers.${NAME_SERVICE}.rule=Host(recall.vodorod.cl)"
|
- "traefik.http.routers.${NAME_SERVICE}.rule=Host(recall.vodorod.cl)"
|
||||||
environment:
|
environment:
|
||||||
- TZ=America/Santiago
|
- TZ=America/Santiago
|
||||||
- DATABASE_URL=file:/app/data/dev.db
|
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||||
|
- DATA_ROOT=/app/data
|
||||||
|
- CORS_ORIGIN=*
|
||||||
volumes:
|
volumes:
|
||||||
- ./data:/app/data
|
- ./data:/app/data
|
||||||
networks:
|
networks:
|
||||||
@@ -98,26 +94,27 @@ networks:
|
|||||||
external: true
|
external: true
|
||||||
"""
|
"""
|
||||||
writeFile file: 'docker-compose.yaml', text: dockerComposeTemplate
|
writeFile file: 'docker-compose.yaml', text: dockerComposeTemplate
|
||||||
sshagent(['gitea-ssh']) {
|
sshagent(credentials: ['ssh-virtual-machine']) {
|
||||||
|
withCredentials([usernamePassword(credentialsId: 'gitea-docker-registry', usernameVariable: 'REG_USR', passwordVariable: 'REG_PSW')]) {
|
||||||
sh """
|
sh """
|
||||||
ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} 'mkdir -p ${REMOTE_PATH}/${NAME_SERVICE}'
|
ssh -o StrictHostKeyChecking=no \${REMOTE_USER}@\${REMOTE_HOST} "docker login \${URL_REGISTRY} -u \${REG_USR} -p \${REG_PSW}"
|
||||||
scp docker-compose.yaml ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}/${NAME_SERVICE}/
|
ssh -o StrictHostKeyChecking=no \${REMOTE_USER}@\${REMOTE_HOST} "mkdir -p \${REMOTE_PATH}/\${PROJECT}/\${NAME_SERVICE}"
|
||||||
ssh ${REMOTE_USER}@${REMOTE_HOST} 'cd ${REMOTE_PATH}/${NAME_SERVICE} && docker-compose down || true'
|
scp docker-compose.yaml \${REMOTE_USER}@\${REMOTE_HOST}:\${REMOTE_PATH}/\${PROJECT}/\${NAME_SERVICE}/docker-compose.yaml
|
||||||
ssh ${REMOTE_USER}@${REMOTE_HOST} 'cd ${REMOTE_PATH}/${NAME_SERVICE} && docker-compose up -d'
|
ssh -o StrictHostKeyChecking=no \${REMOTE_USER}@\${REMOTE_HOST} "cd \${REMOTE_PATH}/\${PROJECT}/\${NAME_SERVICE} && docker compose down && docker compose pull && docker compose up -d"
|
||||||
|
ssh -o StrictHostKeyChecking=no \${REMOTE_USER}@\${REMOTE_HOST} "docker system prune -f"
|
||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage('Notificación') {
|
}
|
||||||
steps {
|
post {
|
||||||
script {
|
always {
|
||||||
echo "Pipeline completado exitosamente para ${NAME_SERVICE}"
|
cleanWs()
|
||||||
echo "Build: ${BUILD_NUMBER}"
|
}
|
||||||
echo "URL: ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER}"
|
failure {
|
||||||
}
|
echo "Pipeline failed. Check logs for details."
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user