You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

We can choose any services for CI, but now we decided to use Jenkins CI and Travis CI.

CITarget OSTarget LanguageDescription
Jenkins CIWindowsJava 8Test all new pull requests
Travis CIUbuntu

Java 7
Java 8 

Test all new pull requests
Test all branch commits

 

1. Build services provided by ASF 

This page (http://ci.apache.org) contains information on the various build services that are provided to all ASF projects for continuous integration, builds, testing, snapshots and deployment. Please read this page first. 

Jenkins setup 

 

You can see more information in this link: http://wiki.apache.org/general/Jenkins?action=show&redirect=Hudson
  • First, you have to get an access to Jenkins (http://builds.apache.org). To get an access to Jenkins, Ask your PMC chair
     
  • If you get an access, open builds.apache.org and login with your account
  • Jenkins > New Item : Enter item name and check Maven project. 
  • To trigger Github pull request builds, Follow the steps in this link: https://blogs.apache.org/infra/entry/github_pull_request_builds_now

  • Set JDK version to 1.7
  • Check "Restrict where this project can be run" and add "ubuntu" into the "Label Expression" filed. The builder will be executed on ubuntu machines. Therefore, to build in windows machine, we have to create another new item and add "windows1||windows2" into the "Label Expression". 
  • In Build, write "clean install" into "Goals and options" 
  • In Post Steps, check "Run regardless of build result"
  • If you want to update relevant JIRA issues whenever Jenkins builds the related patch, then add "Update JIRA relevant issues" in Post-build Action. To trigger this post build action, we have to insert JIRA issue number into our commit message. Here is an example commit message: "[REEF-11] Jenkins integration test".  
  • If you have any problem using Jenkins, please file a ticket to INFRA (https://issues.apache.org/jira/browse/INFRA ) or send an email to builds@apache.org

  • Here is an example setting:


Rebuild 

Reconfiguration

2. Travis CI

Travis-CI.org provides free service for Open Source projects.

Setup

  • Request Apache INFRA team to enable Travis-CI for GitHub repository: https://issues.apache.org/jira/browse/INFRA-10567
  • Make `.travis.yml` file at the top folder of projects. JDK7 and JDK8 are tested simultaneously.

    .travis.yml
    sudo: false
    
    language: java
    
    git:
      depth: 150
    
    jdk:
      - oraclejdk7
      - oraclejdk8
    
    env: PATH=$PATH:$HOME/local/bin
    
    cache:
      directories:
      - $HOME/.m2
      - $HOME/local
    
    notifications:
      email: false
    
    install: ./dev/travis-install-dependencies.sh
    
    script:
      mvn clean install -q -ff -Dsurefire.useFile=false -DLOG_LEVEL=WARN
  • No labels