marchev / gradame-infra

Grada.me Infra

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Grada.me Infra

Grada.me Infra е проект, който улеснява и автоматизира конфигурацията на инфраструктурата за проекта Grada.me. Това включва:

  • създаването на потребители и потребителски групи
  • инсталацията и конфигурирането на различни инструменти и услуги, които са необходими за проекта:
    • Build сървър
    • Хранилище за артефакти
    • Инструменти за анализ на кода

Технологии

Технологиите, които се използват в проекта са:

  • Ansible - Безплатен софтуер за автоматизация и управление конфигурацията на сървъри.
  • OpenSSH - Пакет от инструменти, базирани на SSH протокола.

Подготовка

  1. Инсталирайте последната версия на ansible като следвате стъпките описани тук: http://docs.ansible.com/ansible/intro_installation.html

  2. За улеснение можем да конфигурираме връзката със сървърите посредством файла ~/.ssh/config, т.к. ansible използва ssh за връзка със сървърите, които конфигурираме. Примерно съдържание на ~/.ssh/config:

    Host *grada.me
    	HostName grada.me
    	Port 9999
    	IdentityFile /path/to/obshtestvo.bg/id_rsa
    

Конфигурация

  1. Създайте файл с име hosts като копирате hosts.template:

    cp hosts.template hosts
  2. Редактирайте файла hosts като укажете hostnames на различните сървъри, които ще бъдат конфигурирани, в съответните секции. Например:

    [build]
    build.grada.me
    
    [repo]
    repo.grada.me
  3. За да се уверите, че всичко е правилно конфигурирано, изпълнете следната команда:

    ansible all -i hosts -m ping

    Резултатът трябва да бъде SUCCESS:

    build.grada.me | SUCCESS => {
       "changed": false,
       "ping": "pong"
    }

Употреба

  1. Изпълнете следната команда за автоматична конфигурация на сървърите:

    ansible-playbook -i hosts playbook.yml
  2. Voilà 😄

About

Grada.me Infra