This guide installs the Genesis deployment CLI from source and prepares a shared runtime path.
/usr/local/bin- name: Install Genesis on Debian family
hosts: genesis_debian
become: true
vars:
genesis_repo: "https://github.com/genesis-community/genesis.git"
genesis_version: "master"
genesis_home: /opt/genesis
tasks:
- name: Install dependencies
ansible.builtin.apt:
update_cache: true
name:
- git
- curl
- bash
- make
state: present
- name: Clone Genesis repository
ansible.builtin.git:
repo: "{{ genesis_repo }}"
dest: "{{ genesis_home }}"
version: "{{ genesis_version }}"
force: false
- name: Install Genesis binary
ansible.builtin.copy:
src: "{{ genesis_home }}/genesis"
dest: /usr/local/bin/genesis
mode: "0755"
remote_src: true
- name: Verify Genesis installation
ansible.builtin.command: genesis --version
changed_when: false
- name: Install Genesis on RHEL family
hosts: genesis_rhel
become: true
vars:
genesis_repo: "https://github.com/genesis-community/genesis.git"
genesis_version: "master"
genesis_home: /opt/genesis
tasks:
- name: Install dependencies
ansible.builtin.dnf:
name:
- git
- curl
- bash
- make
state: present
- name: Clone Genesis repository
ansible.builtin.git:
repo: "{{ genesis_repo }}"
dest: "{{ genesis_home }}"
version: "{{ genesis_version }}"
force: false
- name: Install Genesis binary
ansible.builtin.copy:
src: "{{ genesis_home }}/genesis"
dest: /usr/local/bin/genesis
mode: "0755"
remote_src: true
- name: Verify Genesis installation
ansible.builtin.command: genesis --version
changed_when: false
ansible-playbook -i inventory.ini genesis-install.yml
genesis_debian.genesis_version to a specific tag in production environments.