fix: change jenkins file with ssh use
Some checks failed
jenkins-ci Build failed

This commit is contained in:
2026-01-27 13:12:45 +00:00
parent 2ea3646153
commit 59e4d91120
2 changed files with 30 additions and 12 deletions

40
Jenkinsfile vendored
View File

@@ -6,10 +6,12 @@ pipeline {
} }
environment { environment {
SSH_TARGET = "57.129.77.192"
SSH_PORT = "34567"
SSH_USER = "lucas"
GITEA_REPO_PATH = "lucas/vaultwarden" GITEA_REPO_PATH = "lucas/vaultwarden"
GITEA_API_URL = "https://gitea.lucasroyer.fr/api/v1" GITEA_API_URL = "https://gitea.lucasroyer.fr/api/v1"
DOCKER_HOST = "unix:///run/user/1001/docker.sock"
BASE_DIR = "/home/lucas/services/vaultwarden/${params.USER_NAME}" BASE_DIR = "/home/lucas/services/vaultwarden/${params.USER_NAME}"
} }
@@ -21,26 +23,42 @@ pipeline {
} }
stage('Deploy') { stage('Deploy') {
steps { steps {
withCredentials([file(credentialsId: "vaultwarden-app-env-${params.USER_NAME}", variable: 'SECRET_ENV')]) { withCredentials([
sshUserPrivateKey(credentialsId: 'ssh-lucas-vps1', keyFileVariable: 'SSH_KEY'),
file(credentialsId: "vaultwarden-app-env-${params.USER_NAME}", variable: 'SECRET_ENV')
]) {
script { script {
echo "Deploying Vaultwarden for ${params.USER_NAME}..." echo "Deploying Vaultwarden for ${params.USER_NAME}..."
sh "mkdir -p ${env.BASE_DIR}/vw-data" // Prepare folder
sh '''
ssh -4 -p $SSH_PORT -i $SSH_KEY -o StrictHostKeyChecking=no $SSH_USER@$SSH_TARGET \
"mkdir -p $BASE_DIR/vw-data"
'''
sh "cp docker-compose.yml ${env.BASE_DIR}/docker-compose.yml" // Send files
sh "cp \$SECRET_ENV ${env.BASE_DIR}/app.env" sh '''
scp -4 -P $SSH_PORT -i $SSH_KEY -o StrictHostKeyChecking=no \
docker-compose.yml $SSH_USER@$SSH_TARGET:$BASE_DIR/docker-compose.yml
'''
dir("${env.BASE_DIR}") { sh '''
sh """ scp -4 -P $SSH_PORT -i $SSH_KEY -o StrictHostKeyChecking=no \
docker compose -p vw-${params.USER_NAME} up -d --force-recreate --remove-orphans $SECRET_ENV $SSH_USER@$SSH_TARGET:$BASE_DIR/app.env
""" '''
}
// Run
sh """
ssh -4 -p \$SSH_PORT -i \$SSH_KEY -o StrictHostKeyChecking=no \$SSH_USER@\$SSH_TARGET \
"cd \$BASE_DIR && USER_NAME=${params.USER_NAME} docker compose -p vw-${params.USER_NAME} up -d --force-recreate --remove-orphans"
"""
} }
} }
} }
} }
} }
post { post {
always { always {
script { script {

View File

@@ -1,7 +1,7 @@
services: services:
vaultwarden: vaultwarden:
image: vaultwarden/server:1.35.2-alpine image: vaultwarden/server:1.35.2-alpine
container_name: vaultwarden container_name: vaultwarden-${USER_NAME}
restart: always restart: always
volumes: volumes:
- ./vw-data:/data - ./vw-data:/data