Giter Club home page Giter Club logo

component-jenkins's Introduction

jenkins-ci

Installs and configures Jenkins CI Server

Version v0.4.0

Install

Features

  • Install and configure Jenkins CI Server on multiple compute
  • Setup Jenkins slave nodes
  • Install Jenkins plugins
  • Restore from previosly created backups

Configurations

  • Jenkins CI 1.xxx (latest), CentOS 6.4 (us-east-1/ami-ee698586), AWS EC2 m1.small, root
  • Jenkins CI 1.xxx (latest), amazon-linux (us-east-1/ami-1ba18d72), AWS EC2 m1.small, ec2-user
  • Jenkins CI 1.xxx (latest), Ubuntu 12.04 (us-east-1/ami-d0f89fb9), AWS EC2 m1.small, ubuntu

Pre-requisites

  • Configured Cloud Account a in chosen environment
  • Either installed Chef on target compute OR launch under root
  • Internet access from target compute:
    • Jenkins distribution
    • S3 bucket with Chef recipes: qubell-starter-kit-artifacts
    • If Chef is not installed: please install Chef 10.16.2 using http://www.opscode.com/chef/install.sh bash <($WGET -O - http://www.opscode.com/chef/install.sh) -v $CHEF_VERSION

Implementation notes

Configuration parameters

  • input.server-os: You can select one of OS listed to run jenkins server
  • agent-type: Allow select slave agent type. For Linux slave nodes you can choose either "jnlp" or "ssh" type. Windows nodes support only "jnlp" agent type. Field type is "string"
  • input.slave-windows-os: Allow set Windows server AMI and it's credentials. Field type is "object"
  • input.slave-windows-instance-size: Here you can choose one of the AWS images types to run Windows OS server. Filed type is "string"
  • input.plugins-info: This field let specify list of plugins to install. Field type is "array"
  • input.slave-windows-user-password: Here you can specify which password should be set to Administrator user in Windows OS

Example usage

- install-jenkins-server:
    action: chefsolo
    precedingPhases: [provision-server-vm]
    parameters:
      recipeUrl: "{$.recipe-url}"
      runList: [ "recipe[cookbook_qubell_jenkins::default]" ]
      roles: [ server ]
      jattrs:
        qubell_jenkins: 
          version: "{$.jenkins-version}"
          plugins: "{$.plugins-info}"
          backup_uri: "{$.backup-uri}"
          restore_type: "{$.restore-type}"
        jenkins:
          server:
            host: "{$.jenkins-server-hosts[0]}"
            port: "{$.jenkins-server-port}"
            install_method: "{$.install-method}"
    output:
      server-attrs: chefState

- install-jenkins-slave:
    action: chefsolo
    precedingPhases: [provision-slave-linux-vm, install-jenkins-server]
    parameters:
      recipeUrl: "{$.recipe-url}"
      runList: [ "recipe[cookbook_qubell_jenkins::node]" ]
      roles: [ slave-linux ]
      jattrs:
        jenkins:
          server:
            url: "http://{$.jenkins-server-hosts[0]}:{$.jenkins-server-port}"
            pubkey: "{$.server-attrs['*'].jenkins.server.pubkey[0]}"
          node:
            agent_type: "{$.slave-linux-agent-type}"
            availability: "{$.slave-linux-availability}"
          cli:
            username: "admin"
            password: "{$.server-attrs['*'].jenkins.server.admin_password[0]}"
    output:
      slave-attrs: chefState

component-jenkins's People

Contributors

jollyrojer avatar loky9000 avatar dmz avatar

Watchers

James Cloos avatar  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.