mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 23:32:37 +03:00
homework 9.4: fix playbook
This commit is contained in:
@@ -63,17 +63,26 @@
|
|||||||
state: restarted
|
state: restarted
|
||||||
enabled: true
|
enabled: true
|
||||||
when: jenkins_installed is changed
|
when: jenkins_installed is changed
|
||||||
|
- name: ensure github.com is a known host
|
||||||
|
lineinfile:
|
||||||
|
dest: ~/.ssh/known_hosts
|
||||||
|
create: yes
|
||||||
|
state: present
|
||||||
|
line: "{{ lookup('pipe', 'ssh-keyscan -t rsa github.com') }}"
|
||||||
|
regexp: "^github\\.com"
|
||||||
|
tags:
|
||||||
|
- jenkins-master
|
||||||
|
|
||||||
- name: Prepare jenkins agent
|
- name: Prepare jenkins agent
|
||||||
hosts: jenkins_agents
|
hosts: jenkins_agents
|
||||||
become: true
|
become: true
|
||||||
become_user: "{{ jenkins_user_name }}"
|
become_user: "{{ jenkins_user_name }}"
|
||||||
tasks:
|
tasks:
|
||||||
- name: Add master publickey into authorized_key
|
# - name: Add master publickey into authorized_key
|
||||||
authorized_key:
|
# authorized_key:
|
||||||
user: "{{ jenkins_user_name }}"
|
# user: "{{ jenkins_user_name }}"
|
||||||
state: present
|
# state: present
|
||||||
key: "{{ hostvars['jenkins-master-01']['ssh_key_info']['ssh_public_key'] }}"
|
# key: "{{ hostvars['jenkins-master-01']['ssh_key_info']['ssh_public_key'] }}"
|
||||||
- name: Create agent_dir
|
- name: Create agent_dir
|
||||||
become_user: root
|
become_user: root
|
||||||
file:
|
file:
|
||||||
@@ -92,21 +101,56 @@
|
|||||||
yum:
|
yum:
|
||||||
name:
|
name:
|
||||||
- git
|
- git
|
||||||
- python3
|
|
||||||
- docker-ce
|
- docker-ce
|
||||||
- docker-ce-cli
|
- docker-ce-cli
|
||||||
- containerd.io
|
- containerd.io
|
||||||
|
- gcc
|
||||||
|
- openssl-devel
|
||||||
|
- bzip2-devel
|
||||||
|
- libffi-devel
|
||||||
|
- zlib-devel
|
||||||
|
- xz-devel
|
||||||
state: present
|
state: present
|
||||||
|
- name: Download python 3.8 distrib
|
||||||
|
ansible.builtin.get_url:
|
||||||
|
url: "https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz"
|
||||||
|
dest: "{{ jenkins_agent_dir }}/Python-3.8.12.tgz"
|
||||||
|
- name: Unpack python 3.8 distrib
|
||||||
|
ansible.builtin.unarchive:
|
||||||
|
src: "{{ jenkins_agent_dir }}/Python-3.8.12.tgz"
|
||||||
|
dest: "{{ jenkins_agent_dir }}"
|
||||||
|
remote_src: true
|
||||||
|
- name: Configure python 3.8
|
||||||
|
ansible.builtin.shell:
|
||||||
|
cmd: ./configure --enable-optimizations
|
||||||
|
chdir: "{{ jenkins_agent_dir }}/Python-3.8.12"
|
||||||
|
- name: Install python 3.8
|
||||||
|
become_user: root
|
||||||
|
ansible.builtin.shell:
|
||||||
|
cmd: make altinstall
|
||||||
|
chdir: "{{ jenkins_agent_dir }}/Python-3.8.12"
|
||||||
|
- name: Create symbolic link python3
|
||||||
|
become_user: root
|
||||||
|
ansible.builtin.file:
|
||||||
|
src: /usr/local/bin/python3.8
|
||||||
|
dest: /usr/local/bin/python3
|
||||||
|
state: link
|
||||||
|
- name: Create symbolic link pip3
|
||||||
|
become_user: root
|
||||||
|
ansible.builtin.file:
|
||||||
|
src: /usr/local/bin/pip3.8
|
||||||
|
dest: /usr/local/bin/pip3
|
||||||
|
state: link
|
||||||
- name: Update pip
|
- name: Update pip
|
||||||
become_user: root
|
become_user: root
|
||||||
pip:
|
pip:
|
||||||
executable: pip3
|
executable: /usr/local/bin/pip3
|
||||||
name: pip
|
name: pip
|
||||||
extra_args: --upgrade
|
extra_args: --upgrade
|
||||||
- name: Install Ansible
|
- name: Install Ansible
|
||||||
become_user: root
|
become_user: root
|
||||||
pip:
|
pip:
|
||||||
executable: pip3
|
executable: /usr/local/bin/pip3
|
||||||
name:
|
name:
|
||||||
- selinux
|
- selinux
|
||||||
- ansible<3.0
|
- ansible<3.0
|
||||||
@@ -114,7 +158,7 @@
|
|||||||
- name: Reinstall Selinux
|
- name: Reinstall Selinux
|
||||||
become_user: root
|
become_user: root
|
||||||
pip:
|
pip:
|
||||||
executable: pip3
|
executable: /usr/local/bin/pip3
|
||||||
name:
|
name:
|
||||||
- selinux
|
- selinux
|
||||||
state: forcereinstall
|
state: forcereinstall
|
||||||
@@ -128,7 +172,7 @@
|
|||||||
group:
|
group:
|
||||||
name: docker
|
name: docker
|
||||||
state: present
|
state: present
|
||||||
- name: Add jenkinsuser to dockergroup
|
- name: Add jenkins user to dockergroup
|
||||||
become_user: root
|
become_user: root
|
||||||
user:
|
user:
|
||||||
name: "{{ jenkins_user_name }}"
|
name: "{{ jenkins_user_name }}"
|
||||||
@@ -149,5 +193,14 @@
|
|||||||
timeout: 10
|
timeout: 10
|
||||||
- name: Install pip molecule
|
- name: Install pip molecule
|
||||||
ansible.builtin.pip:
|
ansible.builtin.pip:
|
||||||
executable: pip3
|
executable: /usr/local/bin/pip3
|
||||||
name: molecule
|
name: molecule
|
||||||
|
- name: ensure github.com is a known host
|
||||||
|
lineinfile:
|
||||||
|
dest: ~/.ssh/known_hosts
|
||||||
|
create: yes
|
||||||
|
state: present
|
||||||
|
line: "{{ lookup('pipe', 'ssh-keyscan -t rsa github.com') }}"
|
||||||
|
regexp: "^github\\.com"
|
||||||
|
tags:
|
||||||
|
- jenkins-agent
|
||||||
|
|||||||
@@ -12,11 +12,11 @@
|
|||||||
> 3. Запустить и проверить работоспособность.
|
> 3. Запустить и проверить работоспособность.
|
||||||
> 4. Сделать первоначальную настройку.
|
> 4. Сделать первоначальную настройку.
|
||||||
|
|
||||||
[Playbook](./infrastructure/site.yml) для установки `jenkins`. Добавлена установка `molecule`
|
[Playbook](./infrastructure/site.yml) для установки `jenkins`. Были сделаны следующие доработки в сравнении
|
||||||
в сравнении с оригинальным содержимым.
|
с оригинальным `playbook`:
|
||||||
|
- На мастере и агенте `github.com` добавлен в `known_hosts` пользователя `jenkins`
|
||||||
// todo Доработать playbook для запуска добавления github.com в known_hosts
|
- На агенте установлен `python3.8` из исходников
|
||||||
// todo Доработать playbook для установки python версии >= 3.8 (+pip)
|
- Добавлена установка `molecule`
|
||||||
|
|
||||||
Запуск:
|
Запуск:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user