You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
3.3 KiB
132 lines
3.3 KiB
- name: Install MockGUI
|
|
hosts: localhost
|
|
connection: local
|
|
become: True
|
|
become_user: root
|
|
become_method: su
|
|
tasks:
|
|
- name: Disable SELinux
|
|
ansible.posix.selinux:
|
|
state: disabled
|
|
|
|
- name: Stop and disable firewalld
|
|
ansible.builtin.service:
|
|
name: firewalld
|
|
state: stopped
|
|
enabled: false
|
|
|
|
- name: Stop and disable nftables
|
|
ansible.builtin.service:
|
|
name: nftables
|
|
state: stopped
|
|
enabled: false
|
|
|
|
- name: Add mockgui user
|
|
ansible.builtin.user:
|
|
name: mockgui
|
|
create_home: yes
|
|
home: /home/mockgui
|
|
|
|
- name: Add mockgui repo file
|
|
ansible.builtin.copy:
|
|
dest: "/etc/yum.repos.d/brepo_projects.repo"
|
|
content: |
|
|
[brepo_projects]
|
|
name=msvsphere9 repo on repo.brepo.ru
|
|
baseurl=https://repo.brepo.ru/hestia/
|
|
enabled=1
|
|
gpgkey=https://repo.brepo.ru/hestia/brepo_projects-gpg-key
|
|
gpgcheck=1
|
|
|
|
- name: Install epel repository
|
|
ansible.builtin.dnf:
|
|
name: epel-release
|
|
state: present
|
|
|
|
- name: Install other needed packages
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- mock
|
|
- rpmdevtools
|
|
- rpm-build
|
|
- ccache
|
|
- rpm-sign
|
|
- sqlite
|
|
- sqlite-devel
|
|
- alt-brepo-ruby33
|
|
- openssh-server
|
|
- git
|
|
- tar
|
|
- gcc
|
|
- gcc-c++
|
|
- make
|
|
- cmake
|
|
- alt-brepo-ruby33-devel
|
|
- openssl-devel
|
|
- zlib-devel
|
|
state: present
|
|
|
|
- name: Add mockgui to mock
|
|
ansible.builtin.user:
|
|
name: mockgui
|
|
groups: mock
|
|
append: yes
|
|
|
|
- name: Delete previously cloned project
|
|
ansible.builtin.file:
|
|
path: "/home/mockgui/mock-gui"
|
|
state: absent
|
|
|
|
- name: Clone project to the mockgui
|
|
ansible.builtin.git:
|
|
repo: https://dev.brepo.ru/brepo/mock-gui.git
|
|
dest: /home/mockgui/mock-gui
|
|
single_branch: yes
|
|
version: master
|
|
|
|
- name: Add ccache to PATH
|
|
ansible.builtin.lineinfile:
|
|
path: /home/mockgui/.bashrc
|
|
insertbefore: '^export PATH'
|
|
line: 'export PATH=/usr/lib64/ccache:$PATH'
|
|
|
|
- name: Change sources owner
|
|
ansible.builtin.file:
|
|
path: /home/mockgui/mock-gui
|
|
state: directory
|
|
recurse: yes
|
|
owner: mockgui
|
|
group: mockgui
|
|
|
|
- name: Install needed ruby gems
|
|
ansible.builtin.command: /opt/brepo/ruby33/bin/bundle install
|
|
become: yes
|
|
become_user: mockgui
|
|
become_method: su
|
|
args:
|
|
chdir: /home/mockgui/mock-gui
|
|
register: myout
|
|
changed_when: myout.rc == 0
|
|
failed_when: myout.rc != 0
|
|
|
|
|
|
- name: Create database
|
|
ansible.builtin.command: /opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3
|
|
become: yes
|
|
become_user: mockgui
|
|
become_method: su
|
|
args:
|
|
chdir: /home/mockgui/mock-gui
|
|
register: myout
|
|
changed_when: myout.rc == 0
|
|
failed_when: myout.rc != 0
|
|
|
|
|
|
- name: Copy systemd service file to server
|
|
ansible.builtin.copy:
|
|
src: /home/mockgui/mock-gui/mockgui.service
|
|
dest: /etc/systemd/system
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|