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/postgres)/g" ./codiki-properties/application-prod.yml' sh 'cp ./codiki-properties/application-prod.yml ./backend/codiki-launcher/src/main/resources/application-prod.yml' sh 'sed -i "s//$(cat ./codiki-properties/passwords/postgres)/g" ./docker-compose.yml' } } } stage('Build') { steps { script { sh """ sudo /usr/bin/docker build -t codiki-backend -f ./Dockerfile-backend . --no-cache sudo /usr/bin/docker build -t codiki-frontend -f ./Dockerfile-frontend . --no-cache sudo /usr/bin/docker save codiki-backend:latest -o ./codiki-backend.tar sudo /usr/bin/docker save codiki-frontend:latest -o ./codiki-frontend.tar sudo chown jenkins:jenkins ./codiki-backend.tar sudo chown jenkins:jenkins ./codiki-frontend.tar chmod 644 ./codiki-backend.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-backend.tar,codiki-frontend.tar,docker-compose.yml' // ), // sshTransfer( // cleanRemote: false, // excludes: '', // execCommand: """ // cd /opt/nginx // sudo /usr/bin/docker load < /opt/nginx/takiguchi-nginx.tar // sudo /usr/bin/docker compose down // sudo /usr/bin/docker compose up --detach // """, // execTimeout: 120000, // flatten: false, // makeEmptyDirs: false, // noDefaultExcludes: false, // patternSeparator: '[, ]+', // remoteDirectory: '/opt/nginx', // remoteDirectorySDF: false, // removePrefix: '', // sourceFiles: '' // ) // ], // usePromotionTimestamp: false, // useWorkspaceInPromotion: false, // verbose: true // ) // ] // ) // } // } } }