|
|
@@ -48,34 +48,24 @@ node {
|
|
|
}
|
|
|
|
|
|
stage('Deploy to Server'){
|
|
|
- // Deploy menggunakan Docker plugin via SSH dengan docker-compose
|
|
|
- // Pastikan SSH credential sudah dikonfigurasi di Jenkins
|
|
|
- // Credential ID: 'Server-SSH-ID' (SSH Username with private key)
|
|
|
+ // SSH ke server dan restart container dengan image terbaru
|
|
|
+ // Pastikan credential SSH sudah dikonfigurasi di Jenkins dengan ID 'Server-SSH-ID'
|
|
|
+ def serverHost = '000-sidali.kemdiktisaintek.go.id'
|
|
|
+ def serverCredential = 'Server-SSH-ID'
|
|
|
+ def composeDir = '/path/to/docker-compose' // Sesuaikan dengan path di server
|
|
|
|
|
|
- def serverDockerHost = 'ssh://root@000-sidali.kemdiktisaintek.go.id'
|
|
|
- def sshCredential = 'Server-SSH-ID' // SSH credential (Username with private key)
|
|
|
- def imageName = '000-sidali.kemdiktisaintek.go.id/ptb-be:latest'
|
|
|
- def composeDir = '/path/to/docker-compose' // Sesuaikan dengan path docker-compose.yml di server
|
|
|
-
|
|
|
- docker.withTool('myDocker') {
|
|
|
- // Connect ke remote Docker daemon via SSH
|
|
|
- docker.withServer(serverDockerHost, sshCredential) {
|
|
|
- // Login ke registry untuk pull image
|
|
|
- docker.withRegistry(registryAddress, registryCredential) {
|
|
|
- // Pull image terbaru
|
|
|
- sh "docker pull ${imageName}"
|
|
|
-
|
|
|
- // Deploy menggunakan docker-compose
|
|
|
- sh """
|
|
|
- cd ${composeDir} && \
|
|
|
- docker-compose stop ptb-be && \
|
|
|
- docker-compose rm -f ptb-be && \
|
|
|
- docker-compose up -d ptb-be
|
|
|
- """
|
|
|
-
|
|
|
+ sshagent(credentials: [serverCredential]) {
|
|
|
+ sh """
|
|
|
+ ssh -o StrictHostKeyChecking=no root@${serverHost} '
|
|
|
+ cd ${composeDir} &&
|
|
|
+ docker login ${registryAddress} -u \$DOCKER_USER -p \$DOCKER_PASS &&
|
|
|
+ docker pull 000-sidali.kemdiktisaintek.go.id/ptb-be:latest &&
|
|
|
+ docker-compose stop ptb-be &&
|
|
|
+ docker-compose rm -f ptb-be &&
|
|
|
+ docker-compose up -d ptb-be &&
|
|
|
echo "Deploy completed successfully"
|
|
|
- }
|
|
|
- }
|
|
|
+ '
|
|
|
+ """
|
|
|
}
|
|
|
}
|
|
|
}
|