Skip to content

maximkasimov/ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Maxim Kasimov

stand-alone Ruby APP (still working on it) && please see dockerized version on https://github.com/maximkasimov/ansible/docker

(c) slurm.io ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ ΠΏΠΎ Ansible:

ЦСль: Π—Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² курсС Ansible, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ практичСского ΠΎΠΏΡ‹Ρ‚Π° написания ΠΈ использования Ρ€ΠΎΠ»Π΅ΠΉ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ инфраструктура для прилоТСния. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π½Π° Github.com с ролями ΠΈ ΠΏΠ»Π΅ΠΉΠ±ΡƒΠΊΠ°ΠΌΠΈ Ansible.

Π—Π°Π΄Π°Π½ΠΈΠ΅: НСобходимо ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ сСрвСр для Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния Π½Π° основС ОБ Centos 7.

Π‘Π°ΠΌΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ доступно Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ https://gitlab.slurm.io/edu/xpaste_practicum
ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ написано Π½Π° Ruby, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ сСрвис Π² systemd (сСрвис Ρ„Π°ΠΉΠ» для прилоТСния Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ).
Настройки для прилоТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния Π² сСрвис Ρ„Π°ΠΉΠ»Π΅.
Набор ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… прилоТСния для Ρ€Π°Π±ΠΎΡ‚Ρ‹:
    SECRET_KEY_BASE - любая строка
    RAILS_ENV=production
    RAILS_LOG_TO_STDOUT=1
    DB_HOST - адрСс хоста postgresql (127.0.0.1)
    DB_PORT - ΠΏΠΎΡ€Ρ‚ postgresql (5432)
    DB_NAME - имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
    DB_USER - ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…
    DB_PASSWORD - ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
Для дСплоя прилоТСния Π½Π° сСрвСр Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ansible Ρ€ΠΎΠ»ΡŒ, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ установку зависимостСй для прилоТСния, Π΄Π΅ΠΏΠ»ΠΎΠΉ сСрвис Ρ„Π°ΠΉΠ»Π° ΠΈΠ· шаблона, Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΊΠΎΠ΄Π° самого прилоТСния, запуск прилоТСния.
    Для установки зависимостСй прилоТСния Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹:
        build-base
        libxml2-dev
    Для установки самих зависимостСй Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ:
        bundle config build.nokogiri --use-system-libraries
        bundle install --clean --no-cache --without development
    Для запуска прилоТСния Π² сСрвис Ρ„Π°ΠΉΠ»Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
        bundle exec rake db:migrate && \
        bundle exec puma -b unix:///var/run/puma.sock -e $RAILS_ENV config.ru
ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π‘Π” PostgreSQL. Для разворачивания Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ ansible Ρ€ΠΎΠ»ΡŒ. Роль Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСбя установку ΠΈ настройку Postgres, Π° Ρ‚Π°ΠΊΠΆΠ΅ созданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для прилоТСния.
ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ балансировщик Nginx. Роль для балансировщика Π½ΡƒΠΆΠ½ΠΎ Π²Π·ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²ΡƒΡŽ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Galaxy. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ для Nginx находится Π² Ρ„Π°ΠΉΠ»Π΅ config/nginx.conf. Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ с ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Π½Π° бэкСнд, для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

Для выполнСния задания достаточно ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. ЗапуститС всС слуТбы (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Nginx ΠΈ PostgreSQL) Π½Π° Π½Π΅ΠΉ.
Π’ качСствС ΠΎΡ‚Π²Π΅Ρ‚Π° Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ссылку Π½Π° Git Π² ΠΎΠΊΠ½ΠΎ Π½ΠΈΠΆΠ΅

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published