All Projects → Stouts → Stouts.jenkins

Stouts / Stouts.jenkins

Licence: mit
Ansible role which manage Jenkins CI

Labels

Projects that are alternatives of or similar to Stouts.jenkins

The Ooc Language
📘 The definitive manual on the ooc programming language
Stars: ✭ 38 (-15.56%)
Mutual labels:  makefile
Trec Data
scripts to download and standardize trec query and document sets
Stars: ✭ 42 (-6.67%)
Mutual labels:  makefile
Perfectdemo
使用Swift的Perfect开发Web服务端
Stars: ✭ 44 (-2.22%)
Mutual labels:  makefile
Duplo
Matrix Memory dumping via GBA
Stars: ✭ 39 (-13.33%)
Mutual labels:  makefile
Lakka Libreelec
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown game console.
Stars: ✭ 1,007 (+2137.78%)
Mutual labels:  makefile
Tmwa Client Data
DEPRECATED: The data used by the ManaPlus client for the tmwAthena server used by The Mana World Legacy. All further development will take place in the "client-data" repo.
Stars: ✭ 42 (-6.67%)
Mutual labels:  makefile
Swift Graphql
GraphQL implementation written in Swift
Stars: ✭ 38 (-15.56%)
Mutual labels:  makefile
Gc Latency Experiment
Exploring some worst-case latencies in GCs, inspired by a post on GHC's runtime pause times: https://making.pusher.com/latency-working-set-ghc-gc-pick-two/
Stars: ✭ 45 (+0%)
Mutual labels:  makefile
Twemoji Color Font
Twitter Unicode 13 emoji color OpenType-SVG font for Linux/MacOS/Windows
Stars: ✭ 1,006 (+2135.56%)
Mutual labels:  makefile
Sfnd lidar obstacle detection
SFND_Lidar_Obstacle_Detection
Stars: ✭ 44 (-2.22%)
Mutual labels:  makefile
Exopenwrt
Extended OpenWrt repository. Note: Latest dnscrypt-proxy merged to upstream (Designated Driver).
Stars: ✭ 39 (-13.33%)
Mutual labels:  makefile
Openre
HandsFree OpenRE Tutorial
Stars: ✭ 41 (-8.89%)
Mutual labels:  makefile
Jekyll Bootstrap4
Bootstrap 4 with Jekyll minimalistic example site
Stars: ✭ 43 (-4.44%)
Mutual labels:  makefile
Zig.ko
Linux kernel module written in Zig
Stars: ✭ 39 (-13.33%)
Mutual labels:  makefile
Ansible Newrelic
Ansible role which installs and configures New Relic Server Monitoring Daemon
Stars: ✭ 44 (-2.22%)
Mutual labels:  makefile
Acris Download
Download NYC real estate transaction data and drop it in a database
Stars: ✭ 38 (-15.56%)
Mutual labels:  makefile
Turris Os Packages
Mirror of https://gitlab.nic.cz/turris/turris-os-packages
Stars: ✭ 42 (-6.67%)
Mutual labels:  makefile
Vainglory Assets
Community provided art, schemas, and other assets that make using the Vainglory API easier
Stars: ✭ 45 (+0%)
Mutual labels:  makefile
Debian Packages
debian/ folders for MATE packages
Stars: ✭ 44 (-2.22%)
Mutual labels:  makefile
Coreos Stack Bootstrap
Stars: ✭ 43 (-4.44%)
Mutual labels:  makefile

Stouts.jenkins

Build Status Galaxy

Ansible role which manage Jenkins CI

  • Install and configure Jenkins
  • Proxy jenkins with nginx/apache (supports http auth)
  • Setup SSH credentials for Jenkins (key, knownhosts)
  • Install Jenkins plugins

The role does not install a proxy server (nginx, apache) I recommed to use other roles for install proxies (example Stouts.nginx)

The role requires docker installed on the target systems

Variables

Here is the list of all variables and their default values:

jenkins_enabled: yes                        # The role is enabled
jenkins_home: /opt/jenkins
jenkins_http_host: 127.0.0.1                # Set HTTP host
jenkins_http_port: 8000                     # Set HTTP port
jenkins_image: jenkinsci/blueocean
jenkins_networks: []

jenkins_proxy: ""                           # Enable jenkins proxy. Values are: nginx, apache
jenkins_proxy_hostname: "{{inventory_hostname}}"              # Set proxy servername
jenkins_proxy_ssl: false                                      # Enable SSL
jenkins_proxy_ssl_redirect: false
jenkins_proxy_ssl_certificate: /etc/nginx/ssl/certificate.crt # Path to certificate
jenkins_proxy_ssl_key: /etc/nginx/ssl/certificate.key         # Path to key
jenkins_proxy_auth: no                                        # Enable http auth
jenkins_proxy_auth_users: []                                  # Add http auth users
jenkins_proxy_port: "{{jenkins_proxy_ssl and 443 or 80}}"   # Set proxy port

jenkins_apk_packages: [make]                                  # Ensure the packages installed
jenkins_plugins: []                                           # Ensure the plugins is installed
jenkins_exec: []                                              # Exec commands inside Jenkins master

jenkins_ssh_key_file: ""                    # Set private ssh key for Jenkins user (path to local file)
# Jenkins ssh keys object
# - file_name: id_rsa  # optional defaults to id_rsa; please set if you have multiple
#   private_key: |
#     -----BEGIN RSA PRIVATE KEY-----
#     Proc-Type: 4,ENCRYPTED
#     DEK-Info: AES-128-CBC,.....
jenkins_ssh_keys: []                        # Set multiple private keys from vault or vars
jenkins_ssh_fingerprints:                   # Set known hosts for ssh
  - "bitbucket.org,131.103.20.167 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw=="
  - "github.com,204.232.175.90 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=="

Usage

Add Stouts.jenkins to your roles and setup the variables in your playbook file. Example:

- hosts: all

  roles:
  - Stouts.python
  - Stouts.docker
  - Stouts.jenkins

  vars:
      jenkins_proxy: nginx
      jenkins_proxy_hostname: jenkins.myhost.com
      jenkins_ssh_key_file: "{{inventory_dir}}/jenkins/ssh_key"

Check builds during provision

You could use the role for checking builds during provision. By example, update servers only if last build was successful:

- hosts: all

  roles:
    - Stouts.jenkins
    ...                             # Other server roles

  vars:
      jenkins_enabled: no           # We dont need to install Jenkins on this host
      jenkins_check_jobs:
      - url: jenkins.myproject.com  # Url when jenkins is installed
        job: myproject-master       # Job name
        user: myproject             # (optional) HTTP Basic Auth
        password: mypassword

In this example, provision will continue only if last build was success.

License

Licensed under the MIT License. See the LICENSE file for details.

Feedback, bug-reports, requests, ...

Are welcome!

If you wish to express your appreciation for the role, you are welcome to send a postcard to:

Kirill Klenov
pos. Severny 8-3
MO, Istra, 143500
Russia
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].