Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Jenkinsfile 2.79 KiB
pipeline {
 agent {
   kubernetes {
   cloud 'openshift'
     label 'maven-openjdk18'
	 yaml """
spec:
  containers:
  - name: jnlp
    image: quay.io/openshift/origin-jenkins-agent-maven:v4.0.0
    volumeMounts:
    - mountPath: "/tmp"
      name: "workspace-volume"
      readOnly: false
    workingDir: "/tmp"
    securityContext:
      privileged: false	
    tty: false
    resources:
      limits: 
        cpu: 200m
        memory: 2Gi
      requests: 
        cpu: 200m
        memory: 2Gi    
  restartPolicy: "Never"
"""		 
   }
 }

 environment { 
  
 //Cluster environment variable(CLS_ENV). Like QA, DEV, PERF, PROD etc.
 CLS_ENV = "dev"
 
 //Service variable(CORE_SERVICE). Like indexer, search, delivery, storage, legal etc.
 CORE_SERVICE = "indexer"

 //GitHub repo URL credential ID for Environment variable files which saved as Secure text in Jenkins Credential.
 GIT_ENV_VAR_PATH_URL =  credentials('GitRepo-URL-For-Environment-variables') 
 
 //Personal token variable ID which saved as Secure text in Jenkins Credential. Like: GitHub-PRIVATE-TOKEN.
 PRIVATE_TOKEN  = credentials('GitHub-PRIVATE-TOKEN')
 
 def runShell =  sh (returnStdout: true, script: "curl --header 'PRIVATE-TOKEN: $PRIVATE_TOKEN' ''$GIT_ENV_VAR_PATH_URL'%2F'$CORE_SERVICE'_'$CLS_ENV'_env.json/raw?ref=master' -s -o env.json")

 }

   stages {
      stage('Integration_test') {
          environment {
            def readContent = readJSON file: 'env.json'

			AUTH_USER_ACCESS = "${readContent['AUTH_USER_ACCESS']}"
			AUTH_USER_ACCESS_PASSWORD = "${readContent['AUTH_USER_ACCESS_PASSWORD']}"
			DEFAULT_DATA_PARTITION_ID_TENANT1 = "${readContent['DEFAULT_DATA_PARTITION_ID_TENANT1']}"
			DEFAULT_DATA_PARTITION_ID_TENANT2 = "${readContent['DEFAULT_DATA_PARTITION_ID_TENANT2']}"
			ELASTIC_HOST = "${readContent['ELASTIC_HOST']}"
			ELASTIC_PASSWORD = "${readContent['ELASTIC_PASSWORD']}"
			ELASTIC_PORT = "${readContent['ELASTIC_PORT']}"
			ELASTIC_USER_NAME = "${readContent['ELASTIC_USER_NAME']}"
			ENTITLEMENTS_DOMAIN = "${readContent['ENTITLEMENTS_DOMAIN']}"
			KEYCLOAK_CLIENT_ID = "${readContent['KEYCLOAK_CLIENT_ID']}"
			KEYCLOAK_CLIENT_SECRET = "${readContent['KEYCLOAK_CLIENT_SECRET']}"
			KEYCLOAK_REALM = "${readContent['KEYCLOAK_REALM']}"
			KEYCLOAK_URL = "${readContent['KEYCLOAK_URL']}"
			LEGAL_TAG = "${readContent['LEGAL_TAG']}"
			OTHER_RELEVANT_DATA_COUNTRIES = "${readContent['OTHER_RELEVANT_DATA_COUNTRIES']}"
			STORAGE_HOST = "${readContent['STORAGE_HOST']}"
			SEARCH_HOST = "${readContent['SEARCH_HOST']}"
			LEGAL_HOST = "${readContent['LEGAL_HOST']}"
			INDEXER_HOST = "${readContent['INDEXER_HOST']}"
			ENTITLEMENT_URL = "${readContent['ENTITLEMENT_URL']}"

          }  
            steps {
               script {
                  sh 'mvn -f testing/indexer-test-ibm/pom.xml test'
               }
            }
       }
    }


}