CI Environments

About CI testing and Apache Cassandra

dtest scripts written in Python. As outlined in testing, each kind of test suite addresses a different way to test Cassandra. Eventually, all of the tests will be executed together on the CI platform at builds.apache.org, running Jenkins.

Setting up your own Jenkins server

Jenkins is an open source solution that can be installed on a large number of platforms. Setting up a custom Jenkins instance for Cassandra may be desirable for users who have hardware to spare, or organizations that want to run Cassandra tests for custom patches before contribution. Please refer to the Jenkins download and documentation pages for details on how to get Jenkins running, possibly also including slave build executor instances. The rest of the document will focus on how to setup Cassandra jobs in your Jenkins environment.

Required plugins

In addition, the following plugins need to be installed along with the standard plugins (git, ant, ..). You can install any missing plugins using the install manager. Manage Jenkins → Manage Plugins → Available and install the following plugins and respective dependencies:

  • Job DSL
  • Javadoc Plugin
  • description setter plugin
  • Throttle Concurrent Builds Plug-in
  • Test stability history
  • Post Build Script

    Setup seed job

  1. New Item
  • Cassandra-Job-DSL
  • Freestyle project
  1. Source Code Management select Git using the repository: [github.com/apache/cassandra-builds](https://github.com/apache/cassandra-builds)
  2. Build, confirm Add build stepProcess Job DSLs and enter at Look on Filesystem: jenkins-dsl/cassandra_job_dsl_seed.groovy This project is parameterized and add String Parameter for on the variables that can be found in the top of the script. This will allow you to setup jobs for your own repository and branches (e.g. working branches). 1. Manage JenkinsIn-process Script Approval to fix this issue. Afterwards you should be able to run the script and have it generate numerous new jobs based on the found branches and configured templates. Build Executor StatusConfigure → Add “cassandra” as label and save. Manage Jenkins → Global Tool Configuration → JDK Installations…. Executors also need to have the virtualenv package installed on their system.

    CircleCI

    CircleCI configuration to enable running tests on your branches. Go to the CircleCI website, click “Login” and log in with your github account. Then give CircleCI permission to watch your repositories. Once you have done that, you can optionally configure CircleCI to run tests in parallel if you wish:
  3. Projects and select your github account, and then click the settings for your project.
  4. ant eclipse-warnings and ant test will be run. If you change the value to 4, Circle CI also runs ant long-test, ant test-compression and ant stress-test.