forked from eclipse-archived/codewind-eclipse
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
86 lines (67 loc) · 3.58 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!groovy
pipeline {
agent any
tools {
jdk 'oracle-jdk8-latest'
}
options {
timestamps()
skipStagesAfterUnstable()
}
stages {
stage('Build') {
steps {
script {
println("Starting codewind-eclipse build ...")
def sys_info = sh(script: "uname -a", returnStdout: true).trim()
println("System information: ${sys_info}")
println("JAVE_HOME: ${JAVA_HOME}")
sh '''
java -version
which java
'''
dir('dev') { sh './gradlew --stacktrace' }
}
}
}
stage('Deploy') {
steps {
sshagent ( ['projects-storage.eclipse.org-bot-ssh']) {
println("Deploying codewind-eclipse to downoad area...")
sh '''
export REPO_NAME="codewind-eclipse"
export OUTPUT_NAME="codewind"
export OUTPUT_DIR="$WORKSPACE/dev/ant_build/artifacts"
export DOWNLOAD_AREA_URL="https://download.eclipse.org/codewind/$REPO_NAME"
export LATEST_DIR="latest"
export BUILD_INFO="build_info.properties"
export sshHost="[email protected]"
export deployDir="/home/data/httpd/download.eclipse.org/codewind/$REPO_NAME"
if [ -z $CHANGE_ID ]; then
UPLOAD_DIR="$GIT_BRANCH/$BUILD_ID"
BUILD_URL="$DOWNLOAD_AREA_URL/$UPLOAD_DIR"
ssh $sshHost rm -rf $deployDir/$GIT_BRANCH/$LATEST_DIR
ssh $sshHost mkdir -p $deployDir/$GIT_BRANCH/$LATEST_DIR
cp $OUTPUT_DIR/$OUTPUT_NAME*.zip $OUTPUT_DIR/$OUTPUT_NAME.zip
scp $OUTPUT_DIR/$OUTPUT_NAME.zip $sshHost:$deployDir/$GIT_BRANCH/$LATEST_DIR/$OUTPUT_NAME.zip
echo "build_info.url=$BUILD_URL" >> $OUTPUT_DIR/$BUILD_INFO
SHA1=$(sha1sum ${OUTPUT_DIR}/${OUTPUT_NAME}.zip | cut -d ' ' -f 1)
echo "build_info.SHA-1=${SHA1}" >> $OUTPUT_DIR/$BUILD_INFO
unzip $OUTPUT_DIR/$OUTPUT_NAME-*.zip -d $OUTPUT_DIR/repository
scp -r $OUTPUT_DIR/repository $sshHost:$deployDir/$GIT_BRANCH/$LATEST_DIR/repository
scp $OUTPUT_DIR/$BUILD_INFO $sshHost:$deployDir/$GIT_BRANCH/$LATEST_DIR/$BUILD_INFO
rm $OUTPUT_DIR/$BUILD_INFO
rm $OUTPUT_DIR/$OUTPUT_NAME.zip
rm -rf $OUTPUT_DIR/repository
else
UPLOAD_DIR="pr/$CHANGE_ID/$BUILD_ID"
fi
ssh $sshHost rm -rf $deployDir/${UPLOAD_DIR}
ssh $sshHost mkdir -p $deployDir/${UPLOAD_DIR}
scp -r $OUTPUT_DIR/* $sshHost:$deployDir/${UPLOAD_DIR}
'''
}
}
}
}
}