Added Jenkinsfile to help release applications
Change-Id: I0a534cc7a69becb27a7502f95fc3132d93e77207
diff --git a/Jenkinsfile.release b/Jenkinsfile.release
new file mode 100644
index 0000000..d2b808c
--- /dev/null
+++ b/Jenkinsfile.release
@@ -0,0 +1,68 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+def app = ${app}
+def version = ${version}
+def branch = ${branch}
+
+def createBranch(def proj, def branch, def parent) {
+ cmd = 'ssh -p 29418 gerrit.opencord.org gerrit create-branch ' + proj + " " + branch + " " + parent
+ sh returnStdout: true, script: cmd
+}
+
+int checkBranchExists(def proj, def branch) {
+ url = 'https://gerrit.opencord.org/projects/' + proj + '/branches/' + branch
+ response = httpRequest url: url, validResponseCodes: '200,404'
+ if (response.status == 404) {
+ return 1
+ }
+ return 0
+}
+
+node ('master') {
+ stage 'Checkout code'
+ #checkout([$class: 'RepoScm', currentBranch: true, manifestRepositoryUrl: 'https://gerrit.opencord.org/manifest', #quiet: true])
+ checkout([$class: 'GitSCM',
+ userRemoteConfigs: [[url: 'https://gerrit.opencord.org/' + app]]
+ ])
+
+
+ #stage 'Create support branch'
+ # TODO add a sanity check from human
+ #if (checkBranchExists(app, branch) == 0) {
+ # echo "Branch " + branch + " doesn't exist, creating
+ #createBranch(app, version, 'opencord/master')
+ #} else {
+ # echo "Support branch " + branch + " already exists"
+ #}
+
+ stage 'Checkout branch'
+ sh 'cd ' + app + ' && git checkout ' + branch
+
+ stage 'Bump versions'
+ sh 'cd ' + app + ' && mvn change-version'
+
+ #stage 'Commit'
+
+ #stage 'Push to Gerrit'
+
+ #stage 'Tag'
+
+ #stage 'Build and Publish apps'
+ #sh 'cd onos-apps && ./gradlew release'
+
+ #stage 'Bump versions forward on branch'
+
+ #stage 'Bump versions forward on master'
+}