Как првильно разрабатывать. Одному.

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
rededis
Сообщения: 12
Зарегистрирован: 2015.06.25, 21:02

Как првильно разрабатывать. Одному.

Сообщение rededis »

Есть домашний проект, разрабатываю в одного. Сервер на амазоне. Одна копия приложения, ни каких тестовых серверов, фигак-фигак и задеплоил, бекапов тоже нет(кроме локальной копии проекта которую phpstorm выкачивает на компьютер)
До вчерашнего дня вся разработака была по SFTP из phpStorm. Вчера это произошло. Все сломалось. Сейчас после укороченного сна, по дороге на основную работу понимаю что надо что то менять.
Прошу совета более опытных.
Как правильно организовать одиночную(не командную) разработку.
Как настроить локальное окружение. Рабочий компьютер виндоус, сервер на убунту.
В голове две крайности докер и XAMPP. C докером ни разу не сталкивался, читал пару статей. XAMPP настрою без проблем. Что выбрать? разобраться один раз с докером и не знать больше проблем с разным окружением локально и на продакшене? или не тратить время и накотить все на XAMP?

Как делать деплой на продакшен?
С систмемаи конроля версий тоже не очень знаком, на работе hg но я там из гуевой программы только коммичу. Ни одной конслоьной команды не знаю, настривать все это не умею. Если есть желание разобраться, стоит сделать сейчас? Накидайте сылок тематических.
Самой главной в этом вопросе как деплоить. Что-то читал про оркестрано, который все сам делает, но не уверен что это то что мне надо.
Аватара пользователя
krosh87
Сообщения: 160
Зарегистрирован: 2015.02.18, 15:32
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение krosh87 »

Если на винде сидишь, поставь OpenServer и не парься
Разработка, продвижение, сопровождение сайтов на Modx, Bitrix, Yii http://www.webapplex.ru
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение samdark »

1. Приучить себя использовать git даже при разработке в одиночку.
2. Разворачивать на сервер из git. Код хранить можно, например, на gitbucket.
3. Всё, что можно автоматизировать — автоматизировать.
4. Настроить бэкапы. Посмотреть в сторону, например, rsync. Можно задуматься о том, чтобы поставить штуку вроде Synology NAS домой. Кроме сайта же есть и дома что бэкапить. Фото, например.

У меня деплой делается просто bash-скриптом: https://github.com/samdark/yiiframework ... it-pull.sh
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Как првильно разрабатывать. Одному.

Сообщение lynicidn »

Sam Dark писал(а):на gitbucket.
:lol:
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как првильно разрабатывать. Одному.

Сообщение zelenin »

мой пример:
- локальный nginx + postgresql + mysql (для legacy-проектов) + php + nodejs. Все ручками настроено - это очень легко (легче чем копаться с багами всяких сборок)
- на digital ocean настроен git server, который и не сервер в целом, а просто коллекция bare repo (в смысле настраивать элементарно). Причем он юзает не целый сервер, а присоседился к паре проектов, т.к. ресурсов кроме жесткого диска, он не жрет
- все только в git, деплой на сервер из гита

ну собственно больше и нечего рассказывать)
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как првильно разрабатывать. Одному.

Сообщение zelenin »

lynicidn писал(а):
Sam Dark писал(а):на gitbucket.
:lol:
я даже гуглить пошел - вдруг чего не знаю)
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: Как првильно разрабатывать. Одному.

Сообщение lynicidn »

я тоже нагуглил, прикольно назвали, аля аналог гитлаба
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение samdark »

Если что, я имел ввиду bitbucket :)
Аватара пользователя
demisang
Сообщения: 159
Зарегистрирован: 2012.10.27, 15:03
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение demisang »

Source tree очень клёвая утилита в качестве визуального интерфейса для git, я не новичок, но работаю через неё, там есть всё, что требуется повседневно, и с винды очень удобно.
  • Зарегистрируйтесь на bitbucket.org
  • Установите Source tree
  • Создайте новый репозиторий (через интерфейс сайта)
  • Склонируйте его локально с помощью Source tree (в созданном репозитории эту кнопочку легко найти)
  • С пустую директорию, куда склонировали этот репозиторий, скопируйте файлы вашего проекта
  • После этого у вас в Source tree появится список из файлов, которые вы можете закомитить
  • Выбираем галочками все файлы, пишем сообщение к комиту (например "init"), нажимаем на кнопку "Зафиксировать"
  • Потом на продакшене клонируем репозиторий - git clone <repo-url> /var/www/mysite/ (ссылка на репозиторий так же хорошо обнаруживается на сайте bitbucket)
  • Ну а потом всё то же самое проделываем для ваших будущих изменений
Полезно почитать о том, как добавить ssh-ключ сервера в репозиторий на bitbucket, чтобы при обновлении продакшена не вводить логин-пароль.

Так же полезно почитать о том, как настроить хуки в bitbucket, чтобы можно было закомить код и сразу же увидеть изменения на продакшене. (вы комитите, bitbucket отправляет запрос на указанный вами url-адрес, по этому запросу располагается скрипт, который запускает на сервере команду git pull + можно дописать кое чего и применять новые миграции и всякое, чего душа пожелает)

А если вы используете Yii2, то я недавно написал расширение, которое позволит делать бекапы баз данных и любых директорий с их последующим сохранением на dropbox(+автоматическое удаление старых бекапов). На данный момент я ещё не написал инструкцию, как им пользоваться, но уже всё функционирует нормально. Если по ссылке инструкции всё ещё нет, то напишите мне в скайп и я помогу с настройкой :)
rededis
Сообщения: 12
Зарегистрирован: 2015.06.25, 21:02

Re: Как првильно разрабатывать. Одному.

Сообщение rededis »

>А если вы используете Yii2, то я недавно написал расширение, которое позволит делать бекапы баз данных и любых директорий...
Отличное расширение, пару месяцев уже использую.
Аватара пользователя
za4me
Сообщения: 152
Зарегистрирован: 2016.06.26, 15:29
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение za4me »

На локалке поставить LAMP или WAMP (мануалов полно в сети). Работать только через git. В принципе все.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как првильно разрабатывать. Одному.

Сообщение zelenin »

za4me писал(а):На локалке поставить LAMP или WAMP (мануалов полно в сети). Работать только через git. В принципе все.
На локалке поставить LAMP или WAMP - юзать докер вместо этого всего.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение samdark »

Не факт, что надо докер юзать. Локально тоже нормально и проблем меньше. У меня вот докер ни под виндой ни под маком не завёлся нормально. Под убунтой билдится и работает тот же самый контейнер как часы.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как првильно разрабатывать. Одному.

Сообщение zelenin »

Sam Dark писал(а):Не факт, что надо докер юзать.
любой совет - не факт, а личное предпочтение, основанное на опыте.
Sam Dark писал(а):Локально тоже нормально и проблем меньше. У меня вот докер ни под виндой ни под маком не завёлся нормально. Под убунтой билдится и работает тот же самый контейнер как часы.
под линухом работает как часы и решает все проблемы, связанные с окружением. Ну и упрощает деплой всего на сервер.
Вроде свежий 1.12 и под виндой стал нормально работать.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение samdark »

Не, не стал. Как и под мак не стал. Один головняк. Проще руками локально.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Как првильно разрабатывать. Одному.

Сообщение zelenin »

Sam Dark писал(а):Не, не стал. Как и под мак не стал. Один головняк.
жаль. В моем случае он просто не видел изменения в shared дире без релоада контейнера.
докер стал для меня причиной отказа от винды год назад.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение samdark »

Если проект на докере завязан, то да — другого пути нет. Если не завязан — можно и без него.
rededis
Сообщения: 12
Зарегистрирован: 2015.06.25, 21:02

Re: Как првильно разрабатывать. Одному.

Сообщение rededis »

На локалке поставить LAMP или WAMP (мануалов полно в сети). Работать только через git. В принципе все.
Я варгрант бокс использую. Тоже проблем нет. Устанавливал по этому манулу: https://github.com/yiisoft/yii2-app-adv ... llation.md
Пока один проект ковыряю все понятно. Как быть если их будет несколько уже менее понятно.
Кто то пользуеться вагрантом? как поступаете?
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение rugabarbo »

rededis писал(а):
На локалке поставить LAMP или WAMP (мануалов полно в сети). Работать только через git. В принципе все.
Я варгрант бокс использую. Тоже проблем нет. Устанавливал по этому манулу: https://github.com/yiisoft/yii2-app-adv ... llation.md
Пока один проект ковыряю все понятно. Как быть если их будет несколько уже менее понятно.
Кто то пользуеться вагрантом? как поступаете?
Собираете по этому же мануалу: https://github.com/yiisoft/yii2-app-adv ... ng-vagrant
Только на 5-ом шаге помимо github_token задаёте в конфе другие ip и machine_name.
И будет у вас два работающих yii2-app-advanced в разных папках.

То есть для изоляции двух вагрант-сборок их достаточно положить в разные папки и задать для каждой свои IP/имя машины.
Аватара пользователя
rugabarbo
Сообщения: 1063
Зарегистрирован: 2015.06.21, 16:21
Контактная информация:

Re: Как првильно разрабатывать. Одному.

Сообщение rugabarbo »

Наврал. Нужно будет ещё пройтись заменой по локальным доменам: вместо y2aa-frontend.dev и y2aa-backend.dev - указать свои значения для второй сборки. Иначе обе сборки прибиндятся к этим доменам в файле hosts.

Заменить надо здесь:
* https://github.com/yiisoft/yii2-app-adv ... x/app.conf
* https://github.com/yiisoft/yii2-app-adv ... agrantfile

Моё упущение - надо было в конфу это вынести... Но уже лень.
Ответить