= How to test locally - Use the official Jenkins docker image: docker run -d -p 8080:8080 jenkins:weekly" - Then install the Jenkins Plugin Dependencies as listed below - Run JJB with: jenkins-jobs -l DEBUG --conf jenkins.ini update jjb = Jenkins Plugin Dependencies - Email-ext Plugin - Gerrit Trigger Plugin - Git Plugin - Sonar Plugin - SSH-Agent Plugin = Creating jobs from OpenDaylight templates The ODL Releng project provides 3 job templates which can be used to define basic jobs. == Verify Job Template The Verify job template creates a Gerrit Trigger job that will trigger when a new patch is submitted to Gerrit. == Merge Job Template The Merge job template is similar to the Verify Job Template except it will trigger once a Gerrit patch is merged into the repo. == Daily Job Template The Daily (or Nightly) Job Template creates a job which will run on a Daily basis and also Submits Sonar reports. == Basic Job Configuration To create a jobs based on the above templates you can use the following example which will create 6 jobs (verify, merge, and daily jobs for both master and stable/helium branch). Before starting create a sub-directory under jjb/ for your project configuration files. 1. mkdir jjb/PROJECT # For example controller 2. touch jjb/PROJECT/PROJECT.yaml 3. Add your job configuration to jjb/PROJECT/PROJECT.yaml If all your project requires is the basic verify, merge, and daily jobs then the following template should be all you need to configure for your job. Replace: PROJECT: Project Name PROJECT_SCM_URL: URL to Gerrit repo PROJECT_MVN_GOALS: Maven Goals PROJECT_MVN_OPTS: Maven Options ########### EXAMPLE ########### - project: name: PROJECT jobs: - '{name}-verify-{stream}' - '{name}-merge-{stream}' - '{name}-daily-{stream}' # SCM scm-url: PROJECT_SCM_URL stream: - master: branch: master - stable-helium: branch: stable/helium # Maven mvn-goals: 'PROJECT_MVN_GOALS' mvn-opts: 'PROJECT_MVN_OPTS' # Email Publisher email-prefix: '[PROJECT]' ########### END EXAMPLE ########### Sample data: ########### SAMPLE ########### - project: name: aaa jobs: - '{name}-verify-{stream}' - '{name}-merge-{stream}' - '{name}-daily-{stream}' # SCM scm-url: ssh://jenkins-releng@git.opendaylight.org:29418/aaa.git stream: - master: branch: master - stable-helium: branch: stable/helium # Maven mvn-goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install' mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m' # Email Publisher email-prefix: '[aaa]' ########### END SAMPLE ###########