Skip to content

JenkinsConfiguration

Neoniconi edited this page Aug 9, 2019 · 1 revision
node {

    stage('Git') {
        git url: 'git@github.com:hyasar/CAtS.git',
            credentialsId: 'CAS'
    }
    
    stage('Test'){
        dir('CAS_WEB'){
            sshagent(credentials : ['EC2']) {
                sh 'ssh -o StrictHostKeyChecking=no ubuntu@ec2-54-162-139-224.compute-1.amazonaws.com uptime'
                sh 'ssh -v ubuntu@ec2-54-162-139-224.compute-1.amazonaws.com "cd /home/ubuntu/CAtS/CAS_WEB && git checkout master && git pull"'
                sh 'ssh -v ubuntu@ec2-54-162-139-224.compute-1.amazonaws.com "cd /home/ubuntu/CAtS/CAS_WEB && export PGPASSWORD=miao && psql -f tests/resource/truncate_test_db.sql -h ec2-54-162-139-224.compute-1.amazonaws.com -p 5432 -d cats_test -U cats"'
            }
            sh "python3 -m coverage run --parallel-mode --source='.' manage.py test --pattern='test_models.py' -k"
            sshagent(credentials : ['EC2']) {
                sh 'ssh -v ubuntu@ec2-54-162-139-224.compute-1.amazonaws.com "cd /home/ubuntu/CAtS/CAS_WEB && export PGPASSWORD=miao && psql -f tests/resource/load_test_db.sql -h ec2-54-162-139-224.compute-1.amazonaws.com -p 5432 -d cats_test -U cats > output.txt"'
            }
            sh "python3 -m coverage run --parallel-mode --source='.' manage.py test --pattern='test_forms.py' -k"
            sh "python3 -m coverage run --parallel-mode --source='.' manage.py test --pattern='test_views.py' -k"
            sh "python3 -m coverage combine"
            sh "python3 -m coverage report"
            sh "python3 -m coverage xml -i"
        }
    }

    stage('Sonar') {
        def scannerHome = tool 'SonarQube Scanner';
        withSonarQubeEnv('SonarQube') {
          sh "${scannerHome}/bin/sonar-scanner"
        }
    }

    stage('Deployment') {
        sshagent(credentials : ['EC2']) {
            sh 'ssh -o StrictHostKeyChecking=no ubuntu@ec2-54-162-139-224.compute-1.amazonaws.com uptime'
            sh 'ssh -v ubuntu@ec2-54-162-139-224.compute-1.amazonaws.com "cd /home/ubuntu/CAtS/CAS_WEB && docker-compose up --build -d"'
        }
    }
    
    stage('Selenium') {
        dir('selenium'){
            sh 'selenium-side-runner --server http://ec2-54-162-139-224.compute-1.amazonaws.com:4444/wd/hub -c "browserName=\'chrome\'" cas.side'
        }  
    }
}

Clone this wiki locally