Skip to content
main.yml 1.8 KiB
Newer Older
- name: Set filename from current date & time
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  set_fact:
    config_date_time: "{{ ansible_date_time.date }}_{{ ansible_date_time.hour }}-{{ ansible_date_time.minute }}-{{ ansible_date_time.second }}"
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Install a list of packages
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  ansible.builtin.apt:
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    update_cache: yes
    state: present
    pkg:
    - curl
    - openssh-server
    - ca-certificates
    - tzdata
    - perl
    - gnupg
    - apt-transport-https
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Install Debian archive keyring
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  ansible.builtin.apt:
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    update_cache: yes
    state: present
    pkg:
    - debian-archive-keyring
  when: ansible_distribution == 'Debian'

Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Add an Apt signing key, uses whichever key is at the URL
  ansible.builtin.apt_key:
    url: https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
    state: present

- name: Add specified repository into sources list
  ansible.builtin.apt_repository:
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    repo: deb https://packages.gitlab.com/gitlab/gitlab-ce/{{ ansible_distribution | lower }}/ {{ ansible_distribution_release | lower }} main
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    filename: gitlab_gitlab-ce
    state: present
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Install gitlab-ce
  ansible.builtin.apt:
    update_cache: yes
    state: present
    pkg:
    - gitlab-ce

Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Create a directory for external configs
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  ansible.builtin.file:
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    path: "/opt/gitlab.rb"
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    state: directory
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    owner: root
    group: root
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    mode: '0755'

Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Template a file to /opt/gitlab.rb/_version_
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  ansible.builtin.copy:
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    content: |
      {{ gitlab_config }}
    dest: "/opt/gitlab.rb/{{ config_date_time }}"
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    owner: root
    group: root
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    mode: '0644'

Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
- name: Create a hard link to /opt/gitlab.rb/_version_
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  ansible.builtin.file:
    src: "/opt/gitlab.rb/{{ config_date_time }}"
    dest: /etc/gitlab/gitlab.rb
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    owner: root
    group: root
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    mode: '0644'
    state: hard
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
    force: yes
Дмитрий Сафронов's avatar
Дмитрий Сафронов committed
  notify: Reconfigure gitlab