forked from pickuppdev/opencv-android-sdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
56 lines (53 loc) · 2.49 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
library "EtsJenkinsLibrary@0.5.0"
pipeline {
agent {
docker {
image 'bullhorn-hub.artifactory.bullhorn.com/ets-build-agents:jdk-8-android-30-debian'
args '-v /var/run/docker.sock:/var/run/docker.sock -u root'
label "bosjenkins-docker-agent"
reuseNode true
}
}
environment {
DISPLAY_NAME = "opencv-android-sdk"
JENKINS_BUILD = "Jenkins Build <${env.BUILD_URL}/|#${env.BUILD_NUMBER}>"
GITHUB_REPO_NAME = "opencv-android-sdk"
GITHUB_GROUP = "bullhron"
GITHUB_URL = "<https://github.com/${env.GITHUB_GROUP}/${env.GITHUB_REPO_NAME}/commits/${env.BRANCH_NAME}|${env.BRANCH_NAME}>"
SLACK_CHANNEL = "ets-ci-cd"
SLACK_TOKEN = "EnidWtGz19YW55Qx0wdh4ef5"
SLACK_ICON = "crescent_moon"
BUILD_ERROR_MESSAGE = "[${env.DISPLAY_NAME}] *FAILED* to build ${env.JENKINS_BUILD} for ${env.GITHUB_URL}."
BUILD_SUCCESS_MESSAGE = "[${env.DISPLAY_NAME}] *SUCCESSFULLY* built ${env.JENKINS_BUILD} for ${env.GITHUB_URL}."
PUBLISH_ERROR_MESSAGE = "[${env.DISPLAY_NAME}] *FAILED* to publish${env.JENKINS_BUILD} for ${env.GITHUB_URL}."
PUBLISH_SUCCESS_MESSAGE = "[${env.DISPLAY_NAME}] *SUCCESSFULLY* published ${env.JENKINS_BUILD} for ${env.GITHUB_URL}."
JAVA_OPTS='-XX:MaxPermSize=1024m -XX:PermSize=128m -Xmx2048m -XX:-UseGCOverheadLimit'
}
stages {
stage('Setup') {
steps {
echo "---------------Setup Android w/ Emulator---------------"
sh "sdkmanager --list"
sh "avdmanager create avd -n first_avd --abi google_apis/x86_64 -k \"system-images;android-30;google_apis;x86_64\""
sh "emulator -avd first_avd -no-window -no-audio & adb devices"
}
}
stage('Build') {
steps {
withCredentials([usernamePassword(credentialsId: 'c376347e-4245-49fc-be2c-b4aa0ddce81f', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
echo "---------------Building Project---------------"
sh "gradle clean install -PartifactoryUsername=$USERNAME -PartifactoryPassword=$PASSWORD"
sh "gradle build -PartifactoryUsername=$USERNAME -PartifactoryPassword=$PASSWORD"
}
}
}
stage('Publish') {
steps {
withCredentials([usernamePassword(credentialsId: 'c376347e-4245-49fc-be2c-b4aa0ddce81f', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
echo "---------------Publishing to Artifactory---------------"
sh 'gradle artifactoryPublish -PartifactoryUsername=$USERNAME -PartifactoryPassword=$PASSWORD'
}
}
}
}
}