Skip to content

Integration with Jenkins and Git for Spinnaker

License

Notifications You must be signed in to change notification settings

SomethingTechnical/igor

 
 

Repository files navigation

Igor

Build Status

Igor provides a single point of integration with Jenkins, Travis and Git repositories ( Stash and Github ) within Spinnaker.

Igor keeps track of the credentials for multiple Jenkins and/or Travis hosts and sends events to echo whenever build information has changed.

Configuring Jenkins Masters

In your configuration block ( either in igor.yml, igor-local.yml, spinnaker.yml or spinnaker-local.yml ), you can define multiple masters blocks by using the list format.

You can obtain a jenkins api token by navigating to http://your.jenkins.server/me/configure. ( where me is your username ).

jenkins:
  enabled: true
  masters:
    -
      address: "https://spinnaker.cloudbees.com/"
      name: cloudbees
      password: f5e182594586b86687319aa5780ebcc5
      username: spinnakeruser
    -
      address: "http://hostedjenkins.amazon.com"
      name: bluespar
      password: de4f277c81fb2b7033065509ddf31cd3
      username: spindoctor

Currently Jenkins is used within Spinnaker to trigger builds and provide artifact information for the bake stages.

Configuring Travis Masters

In your configuration block ( either in igor.yml, igor-local.yml, spinnaker.yml or spinnaker-local.yml ), you can define multiple masters blocks by using the list format.

To authenticate with travis you use a "Personal access token" on a git user with permissions read:org, repo, user. This is added in settings -> Personal access tokens on github/github-enterprise.

travis:
  enabled: true
  # Travis names are prefixed with travis- inside igor.
  masters:
  - name: ci # This will show as travis-ci inside spinnaker.
    baseUrl: https://travis-ci.org
    address: https://api.travis-ci.org
    githubToken: 6a7729bdba8c4f9abc58b175213d83f072d1d832

Currently Travis is used within Spinnaker to trigger pipelines and provide artifact information for the bake stages.

Git Repositories

github:
  baseUrl: "https://api.github.com"
  accessToken: '<your token>'
  commitDisplayLength: 8

stash:
  baseUrl: "<stash url>"
  username: '<stash username>'
  password: '<stash password>'

Currently git credentials are used in Spinnaker pipelines to retrieve commit changes across different build versions.

Docker Registries

Since Clouddriver already polls configured docker registries, Igor relies on Clouddriver to provide registry information. Therefore, first make sure you've configured Clouddriver to poll your registries, and then add the following to your igor.yml or igor-local.yml file.

dockerRegistry:
  enabled: true

Running Igor

Igor requires redis server to be up and running.

Start Igor via ./gradlew bootRun. Or by following the instructions using the Spinnaker installation scripts.

About

Integration with Jenkins and Git for Spinnaker

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Groovy 99.3%
  • Shell 0.7%