установка IDE, настройка git + bitbucket

Сегодня мы обсудим инструменты, которые нам сильно облегчают жизнь и разработку, а именно IDE и VCS. IDE — integrated development environment (интегрированная среда разработки), а VCS — version control system (система контроля версий). Среда значительно облегчает процесс разработки, а система контроля версий служит некоторым дневником, который записывает все изменения, и более того позволяет не только их зафиксировать но и отменить и еще многое другое.

Зачем нам IDE:

  • автодополнение кода
  • подсветка кода
  • проверка синтаксиса PHP
  • PHPDoc (полезная библиотека для комментирования кода)
  • Синхронизация с сервером
  • Интеграция плагинов, модулей расширений (консоль, тестирование, базы данных и многое другое)

Зачем нам VCS:

  • централизированое хранилище кода
  • логирование изменений
  • возможность применять/отменять изменения
  • возможность разрабатывать параллельно
  • тегирование и версионирование кода
  • много-много других полезных свойств

Думаю, пунктов достаточно, чтобы понять что и одно и второе — полезно для разработки и отнюдь не просто так используется и развивается.

Я не сторонник писать код в текстовых редакторах, даже если они супер-крутые и навороченные. Среда разработки зачастую на шаг впереди и фич полезных имеет в три раза больше, а так же не требует их ручной установки и донастройки.
Для языка PHP, я бы делил среды разработки по следующим критериям:

  • платные и бесплатные
  • комфортные и не очень комфортные + жрущие много ресурсов

С чем можно нормально работать, если пишете на PHP:

  • PHPStorm — платная и комфортная IDE
  • Netbeans — бесплатная, но не такая комфортная IDE, а так же кушает больше ресурсов чем PHPStorm
  • Eclipse — бесплатная и наиболее жрущая ресурсы IDE

Конечно каждую из них можно настроить так, что будет «выжирать»» все ресурсы или быстро и сносно работать, но при этом придется сильно постараться, а возможно в угоду скорости — отключать все интересные и полезные плагины, что как-то не очень интересно.
Я разрабатываю в PHPStorm — она быстрая, легкая, удобная, но платная =).

На видео будет показано:

  • как добавить проект в IDE PHPStorm
  • настроить синхронизацию по FTP
  • установить git на сервер
  • зарегистрировать аккаунт в сервисе bitbucket
    как сохранять и откатывать данные


Я искренне верю в то, что вам без проблем удастся выбрать IDE, скачать и установить. А затем следует приступить к загрузке и синхронизации проекта. В двух словах о синхронизации. Что такое синхронизация ? Это когда на сервере и еще где-то хранятся одинаковые копии проекта (кода и др.). Зачем нужно синхронизировать ? Всё дело в том, что когда мы создаем проект в IDE — мы тем самым создаем локальную копию проекта (данные с сервера в точности копируются на ПК, где установлена IDE). Тогда получается, что мы работаем не с данными сервера, а с их локальной копией, а затем мы отправляем их на сервер.

Процедура создания проекта:

  • Create new project from existing files — создать новый проект, который где-то уже существует (то есть файлы проекта где-то размещены, а нам их нужно забрать).
  • Задаем имя проекта.
  • Путь к локальной папке с проектом формируется автоматически, при желании его можно изменить.
  • Добавление удаленного сервера — это и есть наш сервер, на котором размещены файлы проекта, которые мы будем изменять, чтобы сделать проект супер-крутым. В настройках мы указываем адрес сервера, а так же протокол для синхронизации с сервером — в нашем случае это FTP. После этих настроек мы сможем скачивать и заливать файлы с/на сервер. Естественно для подключения к серверу нужно указывать логин/пароль FTP. И теперь становится ясно, зачем нужны были мучения с установкой и настройкой ftp-сервера.
  • Проверить подключение — Test ftp connection. Думаю, понятно зачем тестировать — чтобы все работало как часики, файлы бегали по сети туда и сюда без проблем. В моем видео случилась забавная штука — я забыл запустить VirtualBox (то есть сервер не работал) и пытался подключиться к нему, а затем понял, что ничего не выйдет и исправил эту оплошность.
  • Если все хорошо — кликаем Next и наблюдаем, как PHPStorm по ftp скачивает все файлы проекта, создавая локальную копию у нас на ПК. Это вовсе не значит, что можно будет работать с сайтом без сервера VirtualBox (в нашем случае).
    Последний штрих — автоматизация синхронизации, например при каждом сохранении — нажатии горячих клавиш ctrl + s.

Следующая часть — работа с VCS.
Самой популярной на текущий момент (по кол-ву использования) VCS является Git. Чуть позднее мы разберемся как установить git на сервер. Сейчас нужно понять следующее:
существует серверное приложение git (работа в консоли сервера, используя командную строку)
существует много оболочек для git, которые позволяют более удобно использовать git, например с помощью удобного веб интерфейса

Github — пример онлайн хостинга проектов на базе vcs git. На github в основном размещаются open-source проекты (проекты с открытым исходным кодом, что значит, что код этих проектов открыт и доступен всем — public)

Bitbucket — онлайн хостинг проектов, очень похож на git, но позволяет закрывать проекты от посторонних (установив private)

Естественно, это очень сжатая информация, более подробно с сервисами можете познакомиться перейдя на их сайты и почитав разделы About.

Создать аккаунт на bitbucket — не сложно, если что подглядывайте в видео. Так же создайте в bitbucket пустой репозиторий, чуть позднее, когда настроим git на сервере, мы будем синхронизировать git на сервере и репозиторий сервиса bitbucket.

Чтобы установить git на сервере нужно в консоли выполнить команду

  • sudo apt-get install git

Чтобы синхронизировать git на сервере и bitbucket нам понадобится еще одна вещь — сгенерировать ключи ssh. Это нужно для того, чтобы наши сервера связывались друг с другом автоматически (по протоколу ssh), без ввода логина и пароля, используя ssh-ключ.

SSH-ключи генерируются командой

  • sudo ssh-keygen

Эта команда сгенерирует два ключа — private и public, private — хранится на сервере, а public — мы можем залить на сервис bitbucket для синхронизации.

Так как я все делаю от пользователя root, то ключи будут сгенерированы в домашнюю папку пользователя root и в каталог ssh, а именно /root/.ssh/

Нам нужно получить содержимое ключа public и загрузить его содержимое в bitbucket

  • cat /root/.ssh/id_rsa.pub

После создания репозитория на bitbucket, нам нужно инициализировать git-репозиторий на сервере и связать (синхронизировать) сервера.
На bitbucket есть подсказки с командами, которые нужно выполнить:

  • git init — инициализация пустого репозитория на сервере
  • git config global —user.name/—user.email — утсановка имени пользователя и имейла
  • git remote add origin — привязка удаленного репозитория bitbucket к локальному

После связки аккаунтов можно использовать git и веселиться:
после каждого изменения — их нужно фиксировать

  • git add .

когда изменения зафиксированы, нужно создать коммит

  • git commit -m «commit message»

чтобы изменения отправить в репозиторий

  • git push origin master (в главную ветку, могут быть и другие, но об этом не сейчас)

На видео показано как можно залить новые данные на сервер, а затем откатить их назад. В истории изменений все изменения будут сохранены и никуда не денутся, их можно будет в любой момент восстанавливать по желанию — это одна из многих прелестей VCS.

Результаты:

  • установленная IDE
  • в IDE создан проект с wordpress
  • настроена синхронизация проекта по ftp
  • создан аккаунт в сервисе bitbucket
  • настроен git на сервере
  • синхронизирован проект на сервере с bitbucket
  • нам весело, чувствуем прилив бодрости и сил для того, чтобы идти дальше