Giter Club home page Giter Club logo

docker-jenkins's Introduction

docker-jenkins

Build Status

This is a Mesos-aware containerized jenkins server.

Currently using the following version:

  • Jenkins 2.5
  • Mesos 0.28.1
  • Jenkins mesos plugin 0.12

Details:

  • It will run an eager Jenkins master (more details below).
  • It will provision slaves in a Mesos cluster.
  • The Mesos cluster is discovered using a Zookeeper cluster.
  • It will register as a Mesos framework only if the job queue has jobs.
docker run -it --rm \
--env JENKINS_HTTPPORT=8282 \
--env JENKINS_AJP13PORT=-1 \
--env JENKINS_SYSTEM_MESSAGE=jenkins-qa \
--env JENKINS_NODE_PROVISIONER_MARGIN=50 \
--env JENKINS_NODE_PROVISIONER_MARGIN0=0.85 \
--env JENKINS_ADMIN_EMAIL=nobody@nowhere \
--env MESOS_MASTER=zk://master-1:2181,master-2:2181,master-3:2181/mesos \
--env MESOS_FRAMEWORK_NAME=jenkins-framework \
--env MESOS_CHECKPOINT=true \
--env MESOS_ON_DEMAND_REGISTRATION=true \
--env MESOS_IDLE_TERMINATION_MINUTES=1 \
--env SSL_TRUST=foo:443,bar:443 \
--name jenkins \
--volume ${PWD}/jenkins_data:/var/lib/jenkins \
--net=host \
baraldi/jenkins-mesos-plugin

TODO

Manul plugin installation is broken is version 2.2

Over provisioning flags

By default, Jenkins spawns slaves conservatively. Say, if there are 2 builds in queue, it won't spawn 2 executors immediately. It will spawn one executor and wait for sometime for the first executor to be freed before deciding to spawn the second executor. Jenkins makes sure every executor it spawns is utilized to the maximum. If you want to override this behvaiour and spawn an executor for each build in queue immediately without waiting, you can use these flags during Jenkins startup: JENKINS_NODE_PROVISIONER_MARGIN=50 JENKINS_NODE_PROVISIONER_MARGIN0=0.85

docker-jenkins's People

Contributors

h0tbird avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.