lvlkoo

VIP
  • Публикаций

    399
  • Зарегистрирован

  • Посещение

  • Победитель дней

    19
  • Отзывы

    0%

lvlkoo стал победителем дня 19 февраля

lvlkoo имел наиболее популярный контент!

Репутация

106

3 Подписчика

Информация о lvlkoo

  • Звание
    Поставил палатку

Информация

  • Пол
    Мужчина
  • Город
    Днепр, Украина

Контакты

Посетители профиля

2362 просмотра профиля
  1. Собственно цель данной статьи - поведать об одном из самых простых способов развертывания на сервере с помощью git'а и его хуков. Предисловие: данная статья предполагает что Вы понимаете что такое VCS, в часности гит и уже им пользовались Развертывание проходит в 3 этапа Пуш в репозиторий размещенный на нашем сервере Тригер хука на сервере Выволнение нужного нам скрипта, в данном случае чекаут из репозитория в нужную нам папку Статья на примере работы с Centos 7 в качестве продакшн сервера и Windows 10 в качестве дев-машины. Авторизироваться будем по ssh, и для начала нужно сгенерировать ssh ключ. Сгенерировать его можно, к примеру, у тилитой ssh-keygen, которая идет в составе git для windows Из CMD выполняем: ssh-keygen -t rsa Следуем инструкциям (вас спросят куда положить ключ, можете просто нажать enter, ключ будет сохранен в C:\Users\username\.ssh), устаналиваем пароль, получаем ключ, файл будет называться примерно так id_rsa.pub Далее нужно настроить гит репозиторий на сервере. Устаналиваем git $ yum install -y git Создаем гит юзера, для ssh авторизации, указываем пароль $ sudo adduser git $ sudo passwd git создаем папку для ssh ключей $ su git $ cd $ mkdir .ssh Скопируйте на сервер (через фтп или другим удобным фам способом) ранее сгенерированый паблик ключ, к примеру в папку tmp, в итоге получаем /tmp/id_rsa.pub Добавляем этот ключ в список доверенных $ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys Переходим к созданию гит репозитория, к примеру в папке /home/git $ cd /home/git $ mkdir project.git $ cd project.git $ git --bare init project.git - можете назвать как угодно. Длее нужно создать хук в папке /home/git/project.git/hooks Создаем файл post-receive с содиржанием #!/bin/bash echo 'post-receive execute start' >> hooks.log TARGET="/home/myproject" GIT_DIR="/home/project.git" BRANCH="master" while read oldrev newrev ref do # only checking out the master (or whatever branch you would like to deploy) if [[ $ref = refs/heads/"$BRANCH" ]]; then echo "Ref $ref received. Deploying ${BRANCH} branch to production..." >> hooks.log git --work-tree="$TARGET" --git-dir="$GIT_DIR" checkout -f echo "Deploying done" >> hooks.log else echo "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server." >> hooks.log fi done TARGET - путь к папке в которую будет происходить копирование из репозитория GIT_DIR - путь к папке с гит репозиторием BRANCH - ветка из которой будем забирать Настройте данные переменные под себя. Репозиторий готов, возвращаемся на нашу дев-машину, и создаем из папки с проектом локальный репозиторий. Это можно сделать и спомощью CMD или любой програмы для управления гит (к примеру я пользуюсь SourceTree) Выполняем в CMD cd /d D:\path\to\project git init path\to\project соотвественно меняете на путь к папке с вашим проектом. Комитим изменения, подключаем удаленный репозиторий на сервере и пушим. (если вы создали репозиторий в пустой папке, скопируйте в нее файлы вашего проекта) git add . git commit -m 'initial' git remote add origin git@myserver.com:/home/git/project.git git push origin master myserver.com - домен или ИП адрес вашего сервера. Гит спросит пароль от юзера, вводим пароль который указывали при его создании После пуша на удаленном сервере выполнится хук и файлы будут скопированы в папку для развертывания.
  2. Премитивное авторазвертывание с помощью git Собственно цель данной статьи - поведать об одном из самых простых способов развертывания на сервере с помощью git'а и его хуков. Предисловие: данная статья предполагает что Вы понимаете что такое VCS, в часности гит и уже им пользовались Развертывание проходит в 3 этапа Пуш в репозиторий размещенный на нашем сервере Тригер хука на сервере Выволнение нужного нам скрипта, в данном случае чекаут из репозитория в нужную нам папку Статья на примере работы с Centos 7 в качестве продакшн сервера и Windows 10 в качестве дев-машины. Авторизироваться будем по ssh, и для начала нужно сгенерировать ssh ключ. Сгенерировать его можно, к примеру, у тилитой ssh-keygen, которая идет в составе git для windows Из CMD выполняем: ssh-keygen -t rsa Следуем инструкциям (вас спросят куда положить ключ, можете просто нажать enter, ключ будет сохранен в C:\Users\username\.ssh), устаналиваем пароль, получаем ключ, файл будет называться примерно так id_rsa.pub Далее нужно настроить гит репозиторий на сервере. Устаналиваем git $ yum install -y git Создаем гит юзера, для ssh авторизации, указываем пароль $ sudo adduser git $ sudo passwd git создаем папку для ssh ключей $ su git $ cd $ mkdir .ssh Скопируйте на сервер (через фтп или другим удобным фам способом) ранее сгенерированый паблик ключ, к примеру в папку tmp, в итоге получаем /tmp/id_rsa.pub Добавляем этот ключ в список доверенных $ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys Переходим к созданию гит репозитория, к примеру в папке /home/git $ cd /home/git $ mkdir project.git $ cd project.git $ git --bare init project.git - можете назвать как угодно. Длее нужно создать хук в папке /home/git/project.git/hooks Создаем файл post-receive с содиржанием #!/bin/bash echo 'post-receive execute start' >> hooks.log TARGET="/home/myproject" GIT_DIR="/home/project.git" BRANCH="master" while read oldrev newrev ref do # only checking out the master (or whatever branch you would like to deploy) if [[ $ref = refs/heads/"$BRANCH" ]]; then echo "Ref $ref received. Deploying ${BRANCH} branch to production..." >> hooks.log git --work-tree="$TARGET" --git-dir="$GIT_DIR" checkout -f echo "Deploying done" >> hooks.log else echo "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server." >> hooks.log fi done TARGET - путь к папке в которую будет происходить копирование из репозитория GIT_DIR - путь к папке с гит репозиторием BRANCH - ветка из которой будем забирать Настройте данные переменные под себя. Репозиторий готов, возвращаемся на нашу дев-машину, и создаем из папки с проектом локальный репозиторий. Это можно сделать и спомощью CMD или любой програмы для управления гит (к примеру я пользуюсь SourceTree) Выполняем в CMD cd /d D:\path\to\project git init path\to\project соотвественно меняете на путь к папке с вашим проектом. Комитим изменения, подключаем удаленный репозиторий на сервере и пушим. (если вы создали репозиторий в пустой папке, скопируйте в нее файлы вашего проекта) git add . git commit -m 'initial' git remote add origin git@myserver.com:/home/git/project.git git push origin master myserver.com - домен или ИП адрес вашего сервера. Гит спросит пароль от юзера, вводим пароль который указывали при его создании После пуша на удаленном сервере выполнится хук и файлы будут скопированы в папку для развертывания. Author lvlkoo Category Работа с OS Отправлено 02/20/19 12:44  
  3. lvlkoo

    Ошибка Логин Сервера

    Значит ваш "интернет" подключен не напрямую, а через какое-то оборудование, следовательно ваша сетевая карта понятия не имет о том, что гдето там существуют какието интернеты и айпишники
  4. lvlkoo

    Ошибка при установке IPB

    SELinux возможно выделуеться
  5. lvlkoo

    Не отображаются агатионы

    Клиентские файлы скиньте, скорее всего в клиенте нужно править
  6. lvlkoo

    Не отображаются агатионы

    Что это за агатионы и откуда вы их взяли? На интерлюде нету понятия агатиона, их делают различными хаками, через петов или доп текстуры\анимации на предмет какого-типа
  7. Вот прям идентичны? А в чем тогда проблема с переносом? Ctrl+C, Ctrl+V
  8. lvlkoo

    Ошибка установки Форума

    К чему вы разводите эту демогогию? Ответ дан? Дан. ПС. Человеку не особо знакомому с MySQL не так уж и просто будет разобраться с тем какие там лимиты на ПК и с тем сколько там занимает 1 символ байт в разной кодировке.
  9. lvlkoo

    Ошибка установки Форума

    Видимо у вас кодировка базы utf8mb4, при которой 1 символ занимает 4 байта, и того ваш ПК получиться размером 1020 байт, при всем при этом лимитом в версии 5.6 является 1000 байт, собственно говоря о чем Вам и сообщает текст ошибки. Если несколько вариантов решения. 1. Поменять версию mysql на 5.7, там лимит был поднят до 3072 байта 2. Поменять кодироку бд на utf8_general_ci, в которой один символ будет 3 байта - и того Ваш пк будет размером 765, что меньше лимита 3. Изменить размер поля backup_var_key с размерности 255 на 250 (и во всех других стринговых ПК, в других таблицах) Самым простым наверное будет - изменить кодировку бд.
  10. Нет. Люди, вы вообще предыдущие сообщения в теме читаете прежде чем новые писать?
  11. Спасибо, КЕП Были какие то завуршки с астериусом, аверией, е-глобалом. Что и как понятия не имею, раз все продолжают работать значит все в порядке
  12. Ключевое слово, Вы сами ответили на свой вопрос:) А вообще, абсолютно ВСЕ права пренадлежат иннове, все что связано с брендом Lineage 2, только они имеют право держать сервера, вмешиваться в клиентские файлы и тд итп. ПС. Измнение адреса сервера в l2.ini уже считается нарушеним авторских прав, не говоря уже обо все остальном ПС. Млекие проекты никого не интересуют, с самыми крупными "грандами" уже пытались судится.
  13. Нарушают. Все "фришард" сервера нарушают автоские права, потому что права на игру пренадлежат компании иннова. Вопрос только в том, что этим фришард серверам в реалиях СНГ законодательства абсолютно нифига невозможно сделать. Максимум наверное это заблокировать домен, НО этой мелочью заниматься никто не будет
  14. lvlkoo

    Lineage 2 Ertheia

    А какой? Купленой приваткой? Или может сразу исходниками?