Задать вопрос
Dr_Elvis
@Dr_Elvis
В гугле забанен

Как организовать деплой с GitHub?

Есть проект локально, я на GitHub сделал репозиторий. Теперь нужно залить с него на сервер.
Не пойму вот что: вроде инструмент для упрощения, но почему так сложно? Я создал папку на сервере, инициализировал там репозиторий Git, прописываю команду git remote add origin https://github.com/...потом git pull — запрашивает логин и пароль. Пароль не подходит, как оказалось что нужно создать токен. Где создать токен я кое-как нашел. (Вообще в настройках в самом самом низу, почему — не понятно), внутри тьма прав — что из этого выбирать тоже не понятно. Вроде выбрал на pull на чтение, так как я с сервера ничего не собираюсь передавать, но мне пишет что не хватает прав.
Разве так должно быть сложно?
Позже планировал написать скрипт который останавливает мой веб-сервер, затягивает данные с гита из мастера, устанавливает чего не хватает из requirements, запускает веб-сервер обратно. Но пока у меня с самого начала затык.
Подскажите правильные последовательности команд, я про них почитаю для понимания, а просто копипаст.
P.S.: а токен еще максимум на год, не забывать новый создавать...
  • Вопрос задан
  • 311 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 2
MvcBox
@MvcBox
Software Engineer [C/C++/JS(for Node.js)/etc]
Если очень очень кратко, то:

1. Идете на https://github.com/username/repo_name/settings/keys , жмете "Add deploy key"
Добавляете публичный ключ своего сервера, на который собираетесь деплоить (его можно посмотреть выполнив на сервере что-то типа: cat ~/.ssh/id_rsa.pub )

2. Идете в директорию с проектами на своем сервере и выполняете:
git clone git@github.com:username/repo_name.git

3. Идете на https://github.com/username/repo_name/settings/hoo... и создаете свой хук, который будет дергаться при коммитах

P. S.
"username" и "repo_name" заменить на свои
Ответ написан
Комментировать
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Не создавайте пустой репозиторий, а клонируйте сразу с гитхаба.
И замените в вашем алгоритме https на ssh и всё заработает.
Только ссылка ssh выглядит чуть иначе и придется создать ключи.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы