wcm_io_devops.jenkins_configuration_as_code

CI

wcm_io_devops.jenkins_configuration_as_code

Ta rola zarządza instalacją, konfiguracją i aktualizacją pluginu Jenkins Configuration as Code (JCasC).

Zadania:

  • Instalacja pluginu JCasC
  • Konfiguracja ścieżki dla pluginu JCasC
  • Wdrażanie plików konfiguracyjnych JCasC
  • Przeładowanie JCasC

Wymagania

Ta rola wymaga Ansible w wersji 2.7 lub wyższej oraz działającego Jenkinsa na instancji docelowej.

Zmienne Roli

Dostępne zmienne są wymienione poniżej, wraz z ich wartościami domyślnymi.

jenkins_casc_admin_username: admin

Nazwa użytkownika admina Jenkinsa.

jenkins_casc_admin_password: admin

Hasło admina Jenkinsa.

jenkins_casc_owner: jenkins

Użytkownik systemu Linux dla Jenkinsa.

jenkins_casc_group: "{{ jenkins_casc_owner }}"

Grupa użytkownika Jenkinsa w systemie Linux.

jenkins_casc_jenkins_hostname: localhost

Nazwa hosta instancji Jenkinsa.

jenkins_casc_jenkins_port: 8080

Port HTTP instancji Jenkinsa.

jenkins_casc_jenkins_url_prefix: ""

Prefiks URL instancji Jenkinsa, np. przy uruchamianiu w tomcat.

jenkins_casc_jenkins_base_url: "http://{{ jenkins_casc_jenkins_hostname }}:{{ jenkins_casc_jenkins_port }}{{ jenkins_casc_jenkins_url_prefix }}"

Podstawowy URL instancji Jenkinsa.

jenkins_casc_jenkins_home: "/var/lib/jenkins"

Ścieżka do katalogu jenkins casc zawierającego pliki yaml do konfiguracji.

jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"

Ścieżka do katalogu jenkins casc zawierającego pliki yaml do konfiguracji.

jenkins_casc_config_path_configure: false

Włącza/wyłącza konfigurację ścieżki konfiguracji. Gdy ta wartość jest ustawiona na true, ścieżka JCasC w instancji Jenkinsa jest ustawiana na jenkins_casc_config_path. Gdy ścieżka różni się od wcześniej ustawionej, konfiguracja jest bezpośrednio przeładowywana.

jenkins_casc_config_fileglobs: []

Pliki konfiguracyjne/szablony do przesłania. Gdy wynik tego kroku się zmienia, konfiguracja zostanie przeładowana.

jenkins_casc_config_unmanaged_delete: false

Kontroluje, czy pliki istniejące w 'jenkins_casc_config_path' są usuwane, gdy nie są uwzględnione w 'jenkins_casc_config_fileglobs'. Usunięcie zostanie wykonane tylko wtedy, gdy przynajmniej jeden plik został przesłany do 'jenkins_casc_config_path'.

jenkins_casc_script_timeout: 60

Czas oczekiwania dla zadań jenkins_script w sekundach.

jenkins_casc_plugins_present:
  - name: configuration-as-code
    version: "1.3"
  - name: configuration-as-code-support
    version: "1.3"

Pluginy potrzebne do configuration-as-code.

jenkins_casc_secrets_dir: /var/jenkins_secrets

Folder, w którym poświadczenia będą przechowywane na hoście głównym. Ścieżka będzie konfigurowana w zmiennej środowiskowej SECRETS.

jenkins_casc_secrets_unmanaged_delete: true

Kontroluje, czy rola usunie istniejące, ale nie zdefiniowane poświadczenia z jenkins_casc_secrets_dir. Usunięcie zostanie wykonane tylko wtedy, gdy przynajmniej jeden sekret został przesłany do 'jenkins_casc_secrets_dir'.

jenkins_casc_secrets: []
# Przykład:
# - id: credential-id
#   value: credential-value

Lista par id/wartość dla poświadczeń. id może być potem odwołane w jcasc jako ${id} jako odniesienie do wartości.

Zależności

Ta rola zależy od roli wcm_io_devops.jenkins_plugins w celu instalacji/odinstalacji pluginów.

Jako zależność przejrzysta rola ta korzysta z roli wcm_io_devops.jenkins_facts aby uzyskać listę zainstalowanych pluginów z instancji Jenkinsa.

Przykładowy Playbook

Ten playbook ustawi ścieżkę konfiguracyjną JCasC na /var/lib/jenkins/jcasc-folder i wdroży wszystkie pliki .yml i .yaml znalezione w file/jcasc/my-jenkins/ do tego folderu.

- name: "Wdrożenie jcasc"
  hosts: jenkins
  vars:
    jenkins_casc_config_path_configure: true
    jenkins_casc_config_path: "/var/lib/jenkins/jcasc-folder"
    jenkins_casc_config_fileglobs:
        - file/jcasc/my-jenkins/*.yml
        - file/jcasc/my-jenkins/*.yaml
  roles:
    - wcm_io_devops.jenkins_configuration_as_code

Licencja

Apache 2.0

O projekcie

Configures Jenkins configuration as code plugin (jcasc).

Zainstaluj
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code
Licencja
apache-2.0
Pobrania
12.9k
Właściciel
Tools for Configuration Management and Deployment