Alexander
Насколько понял ансибл это автоматизация
George
это программа, которая по описанным конфигурационным файлам (желаемое состояние целевого сервера) генерирует инструкции и выполняет их по приведению целевого сервера к целевому состоянию
George
более широкое понимание
Alexander
более широкое понимание
А можно ее настроить на работу с проектами? Допустим синхронизировать проекты из локальной машины в гитлаб или гитхаб?
George
А можно ее настроить на работу с проектами? Допустим синхронизировать проекты из локальной машины в гитлаб или гитхаб?
общий ответ - да. краткий ответ - для синхронизации есть более подходящие утилиты
Alexander
общий ответ - да. краткий ответ - для синхронизации есть более подходящие утилиты
Почему спрашиваю, потому что я свой оригинал и бэкап проекта своего личного сайта перезаписал и не знал, что на сервере у меня был оригинал, а на локалке был изменный оригинал и я угробил два своих сайта перезаписав. Ищу вариант типа автоматизации или синхронизации без вмешательства пользователя. Мне уже трудно приходится каждый раз отправлять файлы на сервер чтобы узнать а работает ли это или нет.
Alexander
Вот такие вот дела)
George
правильный процесс подразумевает, что все изменения идут через репозиторий. В нем хранится кодовая база.
George
далее настраивается развертывание этого репозитория при поступлении изменений.
George
ансибл - один из инструментов, который реализуют этот шаг
George
в принципе никто не может запретить доставлять файлы через тот же scp
George
))))
Alexander
ансибл - один из инструментов, который реализуют этот шаг
Но такое вполне реально сделать? Если нужно будет перелопатить и помучаться с доку и попрактиковаться буду только рад
George
реально
Alexander
правильный процесс подразумевает, что все изменения идут через репозиторий. В нем хранится кодовая база.
Так в том то и дело что кодовая база шла на репозитории, а в конфиге gitignore были некоторые папки и файлы которые игнорировались, ну а я их установил вручную, и еще там понастраивал, и пока я настраивал я перекраивал весь проект практически на 90%
Alexander
И так случилось что я забыл что на сервере оригинал
George
разработка - на локальной машине
George
а не на сервере
George
за любые изменения на сервере ВРУЧНУЮ - пить палкой по рукам
Nklya
и по голове)
Alexander
разработка - на локальной машине
Разработка да на локальной была, но на сервере стоял рабочий полноценный проект который был отполирован с нуля до ста, и я когда загрузил с репозитория без недостающих вещей мой проект собирал ручками, потом я его отправил на сервер и и там я забыл что на сервере был рабочии отполированный и рабочий проект
Alexander
Ну кароч убил я свои проекты
Alexander
Даже реветь охота
Александр
Не реви. Достань из резервной копии
Alexander
Резервом был гитхаб
Александр
🔥😂
Alexander
На локальной была разработка, на сервере рабочий
Александр
У меня раз в день резервные копии улетают на сервак.
Alexander
а гитхаб был как резерв работающего проекта
Александр
Мне вот тебя и жаль и не жаль одновременно.
Alexander
У меня раз в день резервные копии улетают на сервак.
Поэтому ищу вариант чтобы все это делалось автоматически, чтобы синхронизировалось понимаешь)
Alexander
Тебе что в итоге надо?
Настроить автоматизацию и синхронизацию между локальным компом, гитхабом и сервером как любовный треугольник с помощью ансибл, вот узнаю
Timur
Аналогично chef, puppet, solt и т.п.
Timur
Декларативного типа
Alexander
Ансибл - это система управления конфигурацией
Ну она еще и автоматизация(или она не делает такого?) Многие говорят что она может сделать так development->production автоматически
Александр
Синхронизация с гит сервера может также быть хуком. ansible особо и не нужен, если нет особой специфики
Alexander
Смотри на CI системы
Вот про это я и говорю)
Александр
ansible можно вызвать из CI или из хука
Alexander
CI/CD
Александр
Вот про это я и говорю)
Нет, ты не про это говоришь, т.к. ты концепции не понимаешь и не понимаешь как работает продукт.
Timur
Ну она еще и автоматизация(или она не делает такого?) Многие говорят что она может сделать так development->production автоматически
Естественно. Любая система управления кофигурацией подразумевает автоматизацию этого процесса
Timur
Отправил по SFTP
На гитхаб по SFTP???
Alexander
Естественно. Любая система управления кофигурацией подразумевает автоматизацию этого процесса
Так все таки надо смотреть в сторону Continuous Delivery и Integration я так понимаю?
Alexander
На гитхаб по SFTP???
На сервер лол
Timur
А с гитхабом что тогда случилось?
Timur
Там же резерв был, нет?
Александр
Так все таки надо смотреть в сторону Continuous Delivery и Integration я так понимаю?
Да, на CI/CD, но сначала посмотри сюда https://git-scm.com/book/ru/v1/Настройка-Git-Перехватчики-в-Git
Alexander
А с гитхабом что тогда случилось?
Был резерв(но когда делаешь проект на ларавеле) он автоматически создает gitignore с удалением всех vendor папок, и таких жизненно важных файлов. Так вот когда я переустановил линьку(была проблема на ней) я тащил резерв с гита который я не обновлял как его отправил на сервер(рабочий проект) И потом когда я начал все автоматически подгружать все папки которые гит игнор выкинул, через композер все установилось, но установились то новые версии программ, я обрадовался и не придал этому значение и стал писать дальше, улучшать проект
Alexander
Пока я улучшал проект, я его закончил седня утром по нашему IST времени и отправил на сервер по SFTP
Alexander
Там я не придал значение что лежал рабочий проект полноценный который я тогда отправил из локалки
Timur
Люди делятся на два типа. Те, что не делают бэкапы, и те, что УЖЕ делают
Timur
Ну, а по поводу кода выше уже сказали
Alexander
Люди делятся на два типа. Те, что не делают бэкапы, и те, что УЖЕ делают
А на сервере лежал проект со всеми жизненно важными файлами и папками ну и я забыл про это.
Timur
Все изменения нужно немедленно пушить в гит (любой), без всяких гитигноров (он только для ненужного мусора, который не жалко потерять), а на тестовые и прочие сервера разворачивать уже только с гита. Какие тулзы использовать для этого - не суть важно
Timur
Хоть баш-скрипты, дергающие гит команды и копирующие файлы
Alexander
Люди делятся на два типа. Те, что не делают бэкапы, и те, что УЖЕ делают
Учусь на ошибках так сказать, сейчас уже не вернешь. Копия на гите и на локальной не работают. Ошибки на ошибках вплоть до ошибки ядер и конфликты. Я пытался полировать как мог, и седня когда я закончил полировать только только ядро фреймворка, я обрадовался и отправил сразу на сайт, и потом под конец почему то вспомнил что там лежал рабочий проект((
Timur
Ансибл помогает решить задачу конфигурирования и переноса конфигурации. Чтобы сделать настройку на одном сервере - и так же легко перенести их на сотни других, хоть с нуля
Timur
Просто синхронизация кода - это процессный момент. Ансибл тут сам по себе никак не поможет. Т.е. никто не мешает его использовать, но проблему неправильного подхода к процессу это никак не решит
Timur
Который хранит всю историю правок
Alexander
Просто синхронизация кода - это процессный момент. Ансибл тут сам по себе никак не поможет. Т.е. никто не мешает его использовать, но проблему неправильного подхода к процессу это никак не решит
Вот поэтому ищу хоть какой то инструмент для синхронизации работы между локальной, сервером и гитом. Я столько там перепроверял файлы и скрипты что с головы ушло, как на сервере лежал рабочий нетронутый стабильный проект. И поэтому сегодня я думаю чтоли к ансибл обратиться или к CI/CD вещам.
Ждун
К ci документации и процессе разработки и деливери
Павел П.
Добрый день, не смог нагуглить как в модуле user указать expires = now()+1 day. Предварительно shell 'ом высчитывать и регистрировать переменную а потом подставлять как-то некрасиво кажется.
Timur
Не подходит?
Павел П.
Подошло спасибо!! страницу с этими "константами" запомнил)
Sashko
как посмотреть полностью процесс установки пакетов? - хочется понять что детально происходит при запуске любой таски плейбука
Timur
Debug