|
|
@@ -48,24 +48,37 @@ node {
|
|
|
}
|
|
|
|
|
|
stage('Deploy to Server'){
|
|
|
- // 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
|
|
|
+ // Deploy menggunakan Docker plugin
|
|
|
+ // Pastikan Docker Host sudah dikonfigurasi di Jenkins (Manage Jenkins > Configure System > Docker)
|
|
|
+ // Server credential ID: 'Docker-Server-Cert' (untuk TLS) atau kosongkan jika tanpa TLS
|
|
|
|
|
|
- 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 &&
|
|
|
+ def serverDockerHost = 'tcp://000-sidali.kemdiktisaintek.go.id:2376'
|
|
|
+ def serverCredential = 'Docker-Server-Cert' // Credential untuk Docker TLS certificates
|
|
|
+ def imageName = '000-sidali.kemdiktisaintek.go.id/ptb-be:latest'
|
|
|
+
|
|
|
+ docker.withTool('myDocker') {
|
|
|
+ // Connect ke remote Docker daemon
|
|
|
+ // docker.withServer(serverDockerHost, serverCredential) {
|
|
|
+ // Login ke registry untuk pull image
|
|
|
+ docker.withRegistry(registryAddress, registryCredential) {
|
|
|
+ // Pull image terbaru
|
|
|
+ sh "docker pull ${imageName}"
|
|
|
+
|
|
|
+ // Stop dan remove container lama (ignore error jika tidak ada)
|
|
|
+ sh "docker stop ptbbe || true"
|
|
|
+ sh "docker rm ptbbe || true"
|
|
|
+
|
|
|
+ // Jalankan container baru
|
|
|
+ sh """
|
|
|
+ cd ${composeDir} &&
|
|
|
+ docker-compose stop ptb-be &&
|
|
|
+ docker-compose rm -f ptb-be &&
|
|
|
+ docker-compose up -d ptb-be
|
|
|
+ """
|
|
|
+
|
|
|
echo "Deploy completed successfully"
|
|
|
- '
|
|
|
- """
|
|
|
+ }
|
|
|
+ // }
|
|
|
}
|
|
|
}
|
|
|
}
|