Fix add a New Project Quick Start section 73/39373/1
authorThanh Ha <thanh.ha@linuxfoundation.org>
Tue, 24 May 2016 18:35:26 +0000 (14:35 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Tue, 24 May 2016 18:38:10 +0000 (14:38 -0400)
Many projects are confused when they join and are not sure what they
need to do when we refer them to this guide. Let's create a section that
gets them what they need to get the basic jobs going and they can read
the rest of the guide when / if they need to contribute to new JJB
items.

Change-Id: I9d13ce84c7307fa4c575e04b5086e838792d405c
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/jenkins.rst

index 64bd76644f4ba6cf1a56392c591fe1ecaa4e10b6..70fb6c91e1606a615825313deca6f4e335db486c 100644 (file)
@@ -13,6 +13,66 @@ Sections:
    :depth: 3
    :local:
 
+New Project Quick Start
+-----------------------
+
+.. note::
+
+    We will be revamping releng/builder in the near future to simplify
+    the below process.
+
+This section attempts to provide details on how to get going as a new project
+quickly with minimal steps. The rest of the guide should be read and understood
+by those who need to create and contribute new job types that is not already
+covered by the existing job templates provided by OpenDaylight's JJB repo.
+
+As a new project you will be mainly interested in getting your jobs to appear
+in the jenkins-master_ silo and this can be achieved by simply creating 2 files
+project.cfg and project.yaml in the releng/builder project's jjb directory.
+
+.. code-block:: bash
+
+    git clone https://git.opendaylight.org/gerrit/releng/builder
+    cd builder
+    mkdir jjb/<new-project>
+
+Where <new-project> should be the same name as your project's git repo in
+Gerrit. So if your project is called "aaa" then create a new jjb/aaa directory.
+
+Next we will create <new-project>.yaml as follows:
+
+    # REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
+
+That's right all you need is the above comment in this file. Jenkins will
+automatically regenerate this file when your patch is merged so we do not need
+to do anything special here.
+
+Next we will create <new-project>.cfg as follows:
+
+.. code-block:: yaml
+
+    STREAMS:
+        - boron:
+            branch: master
+            jdks: openjdk8
+    DEPENDENCIES: odlparent,controller,yangtools
+
+This is the minimal required CFG file contents and is used to auto-generate the
+YAML file. If you'd like to explore the additional tweaking options available
+please refer to the `Tuning Templates`_ section.
+
+Finally we need to push these files to Gerrit for review by the releng/builder
+team to push your jobs to Jenkins.
+
+.. code-block:: bash
+
+    git add jjb/<new-project>
+    git commit -sm "Add <new-project> jobs to Jenkins"
+    git review
+
+This will push the jobs to Gerrit and your jobs will appear in Jenkins once the
+releng/builder team has reviewed and merged your patch.
+
 Jenkins Master
 --------------