From a6414ae64dc33cadad93a870f248d4f820f46454 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Sun, 22 Sep 2024 12:30:18 +0200 Subject: [PATCH] test --- Jenkinsfile-test | 78 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 Jenkinsfile-test diff --git a/Jenkinsfile-test b/Jenkinsfile-test new file mode 100644 index 0000000..9d9baf5 --- /dev/null +++ b/Jenkinsfile-test @@ -0,0 +1,78 @@ +pipeline { + agent any + + stages { + stage('Configuration') { + steps { + dir('codiki-properties') { + git url:'https://gitea.takiguchi.ovh/Codiki/codiki-properties.git', branch: 'hexagonal-reforged', credentialsId: 'Jenkins-gitea' + } + script { + sh 'sed -i "s//$(cat ./codiki-properties/passwords/postgresql/codiki_user)/g" ./codiki-properties/application-prod.yml' + sh 'sed -i "s//$(cat ./codiki-properties/passwords/postgresql/codiki_admin)/g" ./docker-compose.yml' + } + } + } + stage('Build') { + steps { + script { + sh """ + sudo /usr/bin/docker build -t codiki-frontend -f ./Dockerfile-frontend . --no-cache + sudo /usr/bin/docker save codiki-frontend:latest -o ./codiki-frontend.tar + sudo chown jenkins:jenkins ./codiki-frontend.tar + chmod 644 ./codiki-frontend.tar + """ + } + } + } + stage('Deploy') { + steps { + sshPublisher( + publishers: [ + sshPublisherDesc( + configName: 'DebianServer [codiki]', + transfers: [ + sshTransfer( + cleanRemote: false, + excludes: '', + execCommand: '', + execTimeout: 120000, + flatten: false, + makeEmptyDirs: false, + noDefaultExcludes: false, + patternSeparator: '[, ]+', + remoteDirectory: '', + remoteDirectorySDF: false, + removePrefix: '', + sourceFiles: 'codiki-frontend.tar,docker-compose.yml' + ), + sshTransfer( + cleanRemote: false, + excludes: '', + execCommand: """ + cd /opt/codiki + sudo /usr/bin/docker load < /opt/codiki/codiki-frontend.tar + sudo /usr/bin/docker compose down + sudo /usr/bin/docker compose up --detach + """, + execTimeout: 120000, + flatten: false, + makeEmptyDirs: false, + noDefaultExcludes: false, + patternSeparator: '[, ]+', + remoteDirectory: '', + remoteDirectorySDF: false, + removePrefix: '', + sourceFiles: '' + ) + ], + usePromotionTimestamp: false, + useWorkspaceInPromotion: false, + verbose: true + ) + ] + ) + } + } + } +}