GithubHelp home page GithubHelp logo

eshackelford-ias / jenkins-bootstrap-jervis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from samrocketman/jenkins-bootstrap-jervis

0.0 0.0 0.0 325 KB

An automated Jenkins CI environment which provisions agent infrastructure on the fly per build.

License: Apache License 2.0

Groovy 0.46% Shell 78.64% Python 20.90%

jenkins-bootstrap-jervis's Introduction

Bootstrap Jenkins using Jervis Build Status

Jervis generates Jenkins jobs using Travis CI YAML. This project is meant to bootstrap Jenkins from scratch and pre-configure it to use Jervis.

Instructions

Clone this project

This project uses a submodule. Therefore, cloning it must include also cloning the submodule.

git clone --recursive https://github.com/samrocketman/jenkins-bootstrap-jervis.git

GitHub API key

Log into GitHub and generate an API token so that Jervis can authenticate to the GitHub API.

Provision Jenkins

Using Vagrant is the recommended way to provision. Copy settings.groovy.EXAMPLE to settings.groovy and fill in the GitHub personal access token.

export VAGRANT_JENKINS=1
vagrant up
./jervis_bootstrap.sh

Visit http://localhost:8080/ to see Jenkins running with Jervis. Simply read the Welcome page for next steps. The first example will guide you through onboarding the Jervis project for CI.

Screenshot

Jervis built from the master branch by this Jenkins instance.

Screenshot Jervis matrix pipeline

Jervis built from the jervis_simple branch by this Jenkins instance.

Screenshot Jervis simple pipeline

Webhook relay

If you wish to try out this project with webhook integration then I recommend taking advantage of the webhookrelay service.

Provision Jenkins in vagrant and then provision a relay automatically. Pro-tip: start the relay in a screen session so it's easy to detach.

vagrant ssh
curl -sSL https://storage.googleapis.com/webhookrelay/downloads/relay-linux-amd64 > relay && chmod +x relay && sudo mv relay /usr/local/bin
relay forward -b jervis -t internal http://localhost:8080/github-webhook/

Username (token Access Key) and password (token Secret Key) comes from webhookrelay tokens.

Update the settings.groovy file by setting the github_plugin > hookUrl setting to the value of the webhookrelay "input".

Example webhookrelay "input" URL: https://my.webhookrelay.com/v1/webhooks/<uuid>

Configure Jenkins normally and GitHub repository hooks will now be configured with a proper webhook when jobs are generated.

License

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.