yazid138 hai 1 mes
pai
achega
5222dc872f
Modificáronse 1 ficheiros con 16 adicións e 26 borrados
  1. 16 26
      Jenkinsfile

+ 16 - 26
Jenkinsfile

@@ -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"
-                }
-            }
+                '
+            """
         }
      }
   }