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_HOST = '10.5.0.116'
|
||||
REMOTE_PATH = '/compose'
|
||||
DOCKER_CREDENTIALS = credentials('gitea-docker-registry')
|
||||
}
|
||||
stages {
|
||||
stage('Obtener Nombre del Repositorio') {
|
||||
@@ -38,11 +37,6 @@ pipeline {
|
||||
script {
|
||||
try {
|
||||
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 \
|
||||
-t ${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') {
|
||||
steps {
|
||||
script {
|
||||
try {
|
||||
docker.withRegistry("https://${URL_REGISTRY}", 'gitea-docker-registry') {
|
||||
withCredentials([usernamePassword(credentialsId: 'gitea-docker-registry', usernameVariable: 'REG_USR', passwordVariable: 'REG_PSW')]) {
|
||||
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}:latest
|
||||
"""
|
||||
@@ -85,7 +79,9 @@ services:
|
||||
- "traefik.http.routers.${NAME_SERVICE}.rule=Host(recall.vodorod.cl)"
|
||||
environment:
|
||||
- TZ=America/Santiago
|
||||
- DATABASE_URL=file:/app/data/dev.db
|
||||
- ADMIN_TOKEN=${ADMIN_TOKEN}
|
||||
- DATA_ROOT=/app/data
|
||||
- CORS_ORIGIN=*
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
networks:
|
||||
@@ -98,26 +94,27 @@ networks:
|
||||
external: true
|
||||
"""
|
||||
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 """
|
||||
ssh -o StrictHostKeyChecking=no ${REMOTE_USER}@${REMOTE_HOST} 'mkdir -p ${REMOTE_PATH}/${NAME_SERVICE}'
|
||||
scp docker-compose.yaml ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_PATH}/${NAME_SERVICE}/
|
||||
ssh ${REMOTE_USER}@${REMOTE_HOST} 'cd ${REMOTE_PATH}/${NAME_SERVICE} && docker-compose down || true'
|
||||
ssh ${REMOTE_USER}@${REMOTE_HOST} 'cd ${REMOTE_PATH}/${NAME_SERVICE} && docker-compose up -d'
|
||||
ssh -o StrictHostKeyChecking=no \${REMOTE_USER}@\${REMOTE_HOST} "docker login \${URL_REGISTRY} -u \${REG_USR} -p \${REG_PSW}"
|
||||
ssh -o StrictHostKeyChecking=no \${REMOTE_USER}@\${REMOTE_HOST} "mkdir -p \${REMOTE_PATH}/\${PROJECT}/\${NAME_SERVICE}"
|
||||
scp docker-compose.yaml \${REMOTE_USER}@\${REMOTE_HOST}:\${REMOTE_PATH}/\${PROJECT}/\${NAME_SERVICE}/docker-compose.yaml
|
||||
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 {
|
||||
script {
|
||||
echo "Pipeline completado exitosamente para ${NAME_SERVICE}"
|
||||
echo "Build: ${BUILD_NUMBER}"
|
||||
echo "URL: ${URL_REGISTRY}/${PROJECT}/${NAME_SERVICE}:${BUILD_NUMBER}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
cleanWs()
|
||||
}
|
||||
failure {
|
||||
echo "Pipeline failed. Check logs for details."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user