Разворачиваем Gitlab с помощью Ansible

Делаю
12.04.2019


$ mkdir ~/ansible-galaxy && cd ~/ansible-galaxy


$ vi Vagrantfile



VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  config.ssh.insert_key = false
  config.ssh.forward_agent = true

  config.vm.provision :hosts do |provisioner|

      provisioner.add_host '192.168.56.101', ['controller']

  end

  config.vm.define "controller" do |controller|
    controller.vm.box = 'ubuntu/bionic64'
    controller.vm.hostname = 'controller'

    controller.vm.network :private_network, ip: "192.168.56.101"
    controller.vm.network :forwarded_port, guest: 22, host: 10122, id: "ssh"

    controller.vm.provider :virtualbox do |v|
      v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      v.customize ["modifyvm", :id, "--memory", 8192]
      v.customize ["modifyvm", :id, "--name", "controller"]
    end

    controller.vm.provision :shell, path: "install-ansible.sh"

  end

  config.vm.provision :shell, path: "update-ubuntu-packages.sh"

end


$ vi install-ansible.sh


#!/usr/bin/env bash

apt-add-repository -y ppa:ansible/ansible
apt update
apt install -y ansible


$ vi update-ubuntu-packages.sh


#!/usr/bin/env bash

apt update && apt upgrade -y


$ ssh-add ~/.vagrant.d/insecure_private_key
$ vagrant box update
$ vagrant up


$ vagrant ssh controller


$ sudo su  -
# adduser --disabled-password --gecos "" ansible
# usermod -aG sudo ansible
# passwd ansible

# vi /etc/ssh/sshd_config
PasswordAuthentication yes

# service sshd reload


# su - ansible

$ ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa -q -N ""

$ ssh-copy-id ansible@controller

// Проверка подключения без ввода пароля
$ ssh ansible@controller
exit

$ cd ~
$ git clone --depth=1 https://github.com/webmakaka/Hands-On-DevOps-with-Ansible/


$ cd /home/tools/ansible/Hands-On-DevOps-with-Ansible/infrastructure/


$ vi inventory


[gitlab-ce]
controller


$ vi ansible.cfg


[defaults]
remote_user = ansible
host_key_checking = false
inventory = inventory

[privilege_escalation]
become = True
become_method = sudo
become_user = root
becore_ask_pass = False


$ vi playbook.yaml
- hosts: gitlab-ce
  become: yes
  roles:
    - geerlingguy.gitlab


$ ansible-galaxy install geerlingguy.gitlab


$ ansible-playbook playbook.yaml -K


Остается подключиться:
http://192.168.56.101/