Initial Jenkins job pipeline for armband project 11/1911/2
authorMatthewLi <matthew.lijun@huawei.com>
Wed, 23 Sep 2015 06:43:50 +0000 (14:43 +0800)
committerMatthewLi <matthew.lijun@huawei.com>
Wed, 23 Sep 2015 07:16:36 +0000 (15:16 +0800)
JIRA: OCTO-136

create initial Jenkins job pipeline for armband project, its buildersin each job can be changed as the project grows and requires.

Change-Id: Ia73d974d3851e81146c4a923ff64c04f9b527aaf
Signed-off-by: MatthewLi <matthew.lijun@huawei.com>
jjb/armband/armband.yml [new file with mode: 0644]

diff --git a/jjb/armband/armband.yml b/jjb/armband/armband.yml
new file mode 100644 (file)
index 0000000..021b365
--- /dev/null
@@ -0,0 +1,193 @@
+- project:
+    name: armband
+    jobs:
+        - 'armband-test'
+        - 'armband-daily-{stream}'
+        - 'armband-verify'
+        - 'armband-merge'
+
+    # stream:    branch with - in place of / (eg. stable-arno)
+    # branch:    branch (eg. stable/arno)
+    stream:
+        - master:
+            branch: 'master'
+
+    project: 'armband'
+    somevar: 'foo'
+
+- job-template:
+    name: armband-test
+
+    project-type: freestyle
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - shell: |
+            echo "Hello world from armband"
+
+- job-template:
+    name: 'armband-daily-{stream}'
+
+    node: master
+
+    # Job template for daily builders
+    #
+    # Required Variables:
+    #     stream:    branch with - in place of / (eg. stable)
+    #     branch:    branch (eg. stable)
+
+    project-type: freestyle
+    varsetabove: '{somevar}'
+
+    logrotate:
+        daysToKeep: '{build-days-to-keep}'
+        numToKeep: '{build-num-to-keep}'
+        artifactDaysToKeep: '{build-artifact-days-to-keep}'
+        artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            branch: '{branch}'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - timed: 'H H * * *'
+
+    prebuilders:
+        - test-macro
+
+    builders:
+        - shell: |
+            pwd
+            find .
+            echo "Hello world from armband {somevar} daily"
+
+    postbuilders:
+        - test-macro
+
+- job-template:
+    name: 'armband-verify'
+
+    node: ericsson-build
+
+    project-type: freestyle
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: '$GERRIT_REFSPEC'
+            choosing-strategy: 'gerrit'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - patchset-created-event:
+                    exclude-drafts: 'false'
+                    exclude-trivial-rebase: 'false'
+                    exclude-no-code-change: 'false'
+                - draft-published-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'recheck'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'armband'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/master'
+
+    builders:
+        - shell: |
+            pwd
+            find .
+            echo "verify logic goes here"
+
+- job-template:
+    name: 'armband-merge'
+
+    node: master
+
+    # builder-merge job to run JJB update
+    #
+    # This job's purpose is to update all the JJB
+
+    project-type: freestyle
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 40
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'armband'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+
+    builders:
+        - shell: |
+            pwd
+            find .
+            echo "merge logic goes here"