pipeline {
    agent any
    environment {
        REMOTE_HOST = credentials('EVERYTHING_ELSE_SERVER')
        REMOTE_USER = credentials('JENKINS_USER')
        REMOTE_PASSWORD = credentials('JENKINS_PASSWORD')
        REMOTE_DESTINATION = credentials('GDSK_URL_SHORTNER')
    }

    stages {
        stage('Install Dependencies') {
            steps {
                // Install Composer dependencies
                dir("app") {
                    sh 'composer install'
                }
            }
        }
        stage('Deploy to Production') {
            when {
                expression { currentBuild.resultIsBetterOrEqualTo('SUCCESS') }
            }
            steps {
                script {
                    // Use SSH key or password for authentication
                    sh "sshpass -p ${REMOTE_PASSWORD} scp -r ${WORKSPACE}/* ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DESTINATION}"
                }
            }
        }
    }
}
