HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/delta/Jenkinsfile
pipeline {
    agent any
    stages {
        stage('Install') {
            steps {
                script {
                    if (env.BOREALIS_SLACK_CHANNEL_ID == null) {
                        error('Missing BOREALIS_SLACK_CHANNEL_ID enviroment variable')
                    }
                    if (env.BOREALIS_NODE_JS_VERSION == null) {
                        error('Missing BOREALIS_NODE_JS_VERSION enviroment variable')
                    }
                    if (env.BOREALIS_SERVER_ROOT_FOLDER == null) {
                        error('Missing BOREALIS_SERVER_ROOT_FOLDER enviroment variable')
                    }
                    if (env.BOREALIS_SSH_SERVER == null) {
                        error('Missing BOREALIS_SSH_SERVER enviroment variable')
                    }
                    if (env.BOREALIS_PROJECT_URL == null) {
                        error('Missing BOREALIS_PROJECT_URL enviroment variable')
                    }
                }
                dir('./html') {
                    nodejs("${env.BOREALIS_NODE_JS_VERSION}") {
                        echo 'Installing dependecies..'
                        sh 'npm ci'
                        echo 'Building..'
                        sh 'npm run build'
                    }
                }
                dir('./wp-content/themes/__THEME_NAME__') {
                    sh 'composer install'
                }
            }
        }
        stage('Deploy') {
            when {
                expression {
                    currentBuild.result == null || currentBuild.result == 'SUCCESS'
                }
            }
            steps {
                sh 'rm -rf publish'
                sh 'rm -rf wp-content/themes/__THEME_NAME__/.vscode'
                sh '7za a -t7z ./publish/$BUILD_TIMESTAMP-plugins.7z ./wp-content/plugins/*'
                sh '7za a -t7z ./publish/$BUILD_TIMESTAMP-theme.7z ./wp-content/themes/__THEME_NAME__/*'
                sshPublisher(publishers: [sshPublisherDesc(configName: "${env.BOREALIS_SSH_SERVER}",
                 transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: """
                rm -rf ${env.BOREALIS_SERVER_ROOT_FOLDER}/wp-content/themes/__THEME_NAME__/*
                rm -rf ${env.BOREALIS_SERVER_ROOT_FOLDER}/wp-content/plugins/*
                7za x -y ${env.BOREALIS_SERVER_ROOT_FOLDER}/$BUILD_TIMESTAMP-plugins.7z -o${env.BOREALIS_SERVER_ROOT_FOLDER}/wp-content/plugins
                7za x -y ${env.BOREALIS_SERVER_ROOT_FOLDER}/$BUILD_TIMESTAMP-theme.7z -o${env.BOREALIS_SERVER_ROOT_FOLDER}/wp-content/themes/__THEME_NAME__/
                rm ${env.BOREALIS_SERVER_ROOT_FOLDER}/$BUILD_TIMESTAMP-plugins.7z && rm ${env.BOREALIS_SERVER_ROOT_FOLDER}/$BUILD_TIMESTAMP-theme.7z
                """, execTimeout: 120000, flatten: false, makeEmptyDirs: false,
                noDefaultExcludes: false, patternSeparator: '[, ]+',
                remoteDirectory: "${env.BOREALIS_SERVER_ROOT_FOLDER}", remoteDirectorySDF: false,
                removePrefix: 'publish/', sourceFiles: 'publish/*.7z')],
                usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true)])
            }
        }
    }
    post {
        success {
            slackSend channel: "${env.BOREALIS_SLACK_CHANNEL_ID}", color: '#2EB886',
            message: """Created build for ${env.JOB_NAME}!
Repository URL: ${env.GIT_URL}
Deployed branch: ${env.GIT_BRANCH}
Site URL: ${env.BOREALIS_PROJECT_URL}
""", tokenCredentialId: 'slack-jenkins-integration-token'
        }
        failure {
            slackSend channel: "${env.BOREALIS_SLACK_CHANNEL_ID}", color: '#A30200',
            message: """Build failed for ${env.JOB_NAME}!
Repository URL: ${env.GIT_URL}
Deployed branch: ${env.GIT_BRANCH}
Site URL: ${env.BOREALIS_PROJECT_URL}
""", tokenCredentialId: 'slack-jenkins-integration-token'
        }
        always {
            archiveArtifacts artifacts: 'publish/*.7z', onlyIfSuccessful: true
        }
    }
}