GithubHelp home page GithubHelp logo

ansible-jenkins's Introduction

Readme

Description

ansible-jenkins is an Ansible role. Use this role to install Jenkins and install/update plugins.

Provides

  1. Latest Jenkins server
  2. Jenkins plugins support

Requires

  1. Ansible 1.4 or higher
  2. Debian 7.3 (other deb-based distros should work too)
  3. Vagrant (optional)

Usage

Get the code

$ git clone [email protected]:ICTO/ansible-jenkins.git

The code should reside in the roles directory of ansible ( See ansible documentation for more information on roles ), in a folder jenkins.

Create a host file

Following example make ansible aware of the Vagrant box reachable on localhost port 2222.

$ vi ansible.host

with

[jenkins]
127.0.0.1 ansible_ssh_port=2222

Create host specific variables

Make the host_vars directory where ansible.host file is located.

$ mkdir host_vars

Create a file in the newly created directory matching your host.

$ cd host_vars
$ vi 127.0.0.1

with

---
plugins:
  - 'ldap'
  - 'github'
  - 'translation'
  - 'preSCMbuildstep'
port: 8081
prefix: '/build'
email:
  smtp_host: 'mail.example.com'
  smtp_ssl: 'true'
  default_email_suffix: '@example.com'

Run the playbook

First create a playbook including the jenkins role, naming it jenkins.yml.

- name: Jenkins
  hosts: jenkins
  roles:
    - ansible-jenkins

Use ansible.host as inventory. Run the playbook only for the remote host jenkins. Use vagrant as the SSH user to connect to the remote host. -k enables the SSH password prompt.

$ ansible-playbook -k -i ansible.host jenkins.yml -u vagrant

Example output

SSH password:

PLAY [Jenkins] ****************************************************************

GATHERING FACTS ***************************************************************
ok: [127.0.0.1]

TASK: [ansible-jenkins | Install python-software-properties] ******************
ok: [127.0.0.1]

TASK: [ansible-jenkins | Add jenkins apt-key] *********************************
ok: [127.0.0.1]

TASK: [ansible-jenkins | Add Jenkins repository] ******************************
ok: [127.0.0.1]

TASK: [ansible-jenkins | Install dependencies] ********************************
ok: [127.0.0.1] => (item=openjdk-6-jre)
ok: [127.0.0.1] => (item=openjdk-6-jdk)
ok: [127.0.0.1] => (item=git)
ok: [127.0.0.1] => (item=curl)

TASK: [ansible-jenkins | Install Jenkins] *************************************
ok: [127.0.0.1]

TASK: [ansible-jenkins | 10s delay while starting Jenkins] ********************
skipping: [127.0.0.1]

TASK: [ansible-jenkins | Create Jenkins CLI destination directory: /opt/jenkins] ***
ok: [127.0.0.1]

TASK: [ansible-jenkins | Get Jenkins CLI] *************************************
ok: [127.0.0.1]

TASK: [ansible-jenkins | Get Jenkins updates] *********************************
ok: [127.0.0.1]

TASK: [ansible-jenkins | Update-center Jenkins] *******************************
skipping: [127.0.0.1]

TASK: [ansible-jenkins | List plugins] ****************************************
skipping: [127.0.0.1]

TASK: [ansible-jenkins | Install/update plugins] ******************************
skipping: [127.0.0.1] => (item=plugins)

TASK: [ansible-jenkins | List plugins to be updated] **************************
changed: [127.0.0.1]

TASK: [ansible-jenkins | Update plugins] **************************************
skipping: [127.0.0.1]

PLAY RECAP ********************************************************************
127.0.0.1                  : ok=11   changed=1    unreachable=0    failed=0  

ansible-jenkins's People

Watchers

 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.