Удобная работа с кодом голоса. GIT, SSH, IDE и всё такое (часть 3)
Если вы уже подняли виртуальный сервер и развернули клиент голоса, и он у вас заработал - то это очень круто и вы уже в шаге полноценной работы с клиентом.
- Установка и настройка виртуального сервера(часть 1)
- Установка на сервер клиента golos.io(часть 2)
- Работа с кодом клиента(часть 3)
- Как отправить свой код разработчикам golos.io(часть 4)
Вначале нужно сделать форк кода клиента.
Сделать форк - это сделать ответвление чужого бранча в свой аккаунт. В нём вы уже спокойно сможете его править.
Для этого у вас должен быть аккаунт на GitHub
https://i.imgur.com/wPRuBHr.png
После регистрации откройте репозиторий клиента блокчейна https://github.com/GolosChain/tolstoy и нажмите кнопку fork
https://i.imgur.com/LneZ129.png
После этого на странице вашего профиля появится репозиторий tolstoy
https://i.imgur.com/Ma9WDbA.png
Теперь подключайтесь по SSH(или открывайте терминал, если работаете прямо на машине с клиентом голоса)
Я подключусь к серверу через WinSCP и запущу PuTTY.
https://i.imgur.com/DN13auN.png
Как вы видите - в домашней директории уже есть папка tolstoy - это код с основного репозитория голоса.
Мы теперь сделаем такую-же, но уже со своим кодом.
В консоли пишите
mkdir mygolos
так вы создадите папку mygolos. Потом переходим в неё:
cd mygolos
https://i.imgur.com/BvjUL19.png
Я сразу обновил окно WinSCP, вы уже увидели папку mygolos.
Итак, мы в нашей папке для форка.
Теперь стягиваем код уже с нашего форка.
Для этого откройте свою страницу с форком на github и нажмите на кнопку Clone or download
https://i.imgur.com/CJlVX6w.png
Копируйте урл репозитория(https://github.com/<ваш ник>/tolstoy.git
) и пишите в консоли:
git clone https://github.com/<ваш ник>/tolstoy.git
https://i.imgur.com/k6rxPRC.png
Всё скопировалось успешно.
В интерфейсе WinSCP я вижу все файлы голоса.
Теперь вы можете перейти в папку tolstoy в вашей папке форка:
cd tolstoy
https://i.imgur.com/evnckVX.png
Установка и настройка IDE
Если у вас есть любимая IDE - запускайте её(в ней наверняка всё будет работать аналогично), если нет - то порекомендую софт компании jetbrains, например PhpStorm, есть версия под Windows, Linux и Mac OS
https://i.imgur.com/RP1YQ27.png
Почему я выбрал IDE для PHP, ведь программировать придётся на js?
Данная среда без проблем работает и с js файлами и умеет коннектиться с сервером, что нам очень пригодятся, так как в данном мануале я работаю не локально.
Программа эта платная, но первые 30 дней работает бесплатно.
Жмём Create new project from existing files
https://i.imgur.com/sw9qDOi.png
То есть создадим проект из существующих файлов, а конкретнее - из тех, которые мы склонировали со своего форкнутого репозитория.
Затем выбираете Web server is on remote host, files are accessible via FTP/SFTP/FTPS.
https://i.imgur.com/bi2mEup.png
Так как в моём случае виртуальная машина является удалённой машиной, и совершенно неважно, что сервер находится в моей локальной сети, а не где-нибудь в амстердаме.
Размещайте проект там где вам удобно
https://i.imgur.com/wHyUkKN.png
Жмите Add new remote server и Next
https://i.imgur.com/z8kffU6.png
В качестве имени можно указать IP сервера. Он всё тот-же.
У меня это 192.168.1.136
- Тип соединения: SFTP
- SFTP host: 192.168.1.136(у вас может быть другой, проверяется командой ifconfig)
- Port: 22
- User name: user(вы могли указать другое имя)
- Auth type: password
- Password: ваш пароль
https://i.imgur.com/C4Hm4m7.png
Root path - жмите кнопку обзора
Система попросит сохранить ключ - соглашаемся.
Затем находим свою папку с форком.
У меня она расположена тут:
/home/user/mygolos/tolstoy
https://i.imgur.com/jSqHSxU.png
Выбираем её, жмём ок
Всё заполнено, жмём Next
https://i.imgur.com/CZsBQ3t.png
Оставляете выделенной корневую папку и жмёте Project root, потом Next.
https://i.imgur.com/lNkf1Ha.png
После этого среда будет скачивать все файлы проекта.
https://i.imgur.com/jstkCnF.png
Теперь обязательно откройте пункт меню Tools->Deployment и отметьте Automatic upload
https://i.imgur.com/nV0g5SF.png
Теперь каждый раз, когды вы сохраните файл или даже просто переключите окно программы на другое - файл сохранится и улетит на сервер.
например я отредактирую release-notes.txt
и нажму Ctrl+S
https://i.imgur.com/M4AihOb.png
Теперь сразу проверим долетело ли это до сервера.
Для этого вернёмся в консоль и напишем git status
https://i.imgur.com/nWnh78a.png
Как видите - git зафиксировал изменения в файле.
Теперь в консоли вы можете закоммитить изменения, но перед этим зададим своё имя и ящик.
git config --global user.email "my-email@example.com"
git config --global user.name "Tristamoff"
Теперь коммитим:
git commit -am "test commit"
И запушим их в свой репозиторий
git push origin master
Git запросит логин и пароль от GitHub`а - вводим их
https://i.imgur.com/84cVxYG.png
Теперь если откроете на гитхабе свой репозиторий - то увидите коммит.
https://i.imgur.com/nc9yBoE.png
Теперь ваш код видят все пользователи сети, вы можете на него ссылаться.
Заключение
Статья опять вышла немаленькой, плюс традиционные 30 скриншотов:)
Опять же, после того, как вы стянули код со своего репозитория - вам необходимо проделать все операции из предыдущего урока, начиная от слов "Затем создаём в ней папку tmp".
Немного подробнее о бранчах я расскажу в следующем уроке, не всё сразу.