diff --git a/install/mock-gui-install.yml b/install/mock-gui-install.yml new file mode 100644 index 0000000..7866847 --- /dev/null +++ b/install/mock-gui-install.yml @@ -0,0 +1,131 @@ +- 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 diff --git a/install/requirements.yml b/install/requirements.yml new file mode 100644 index 0000000..a5b247c --- /dev/null +++ b/install/requirements.yml @@ -0,0 +1,3 @@ +--- +collections: +- ansible.posix \ No newline at end of file