Andrey: На какое CI посоветуешь обратить внимание? Смотрю что решений популярных много и в тех же комментах на Хабре настоящий коливар по этому вопросу. На слуху Jenkins и Bamboo (оказывается слышал про них не раз, но так и не удосужился разобраться для чего они).
Я по поводу безопасности почему спросил. Не особо глубоко разбираюсь в том же Git который использую. Но вот к примеру ситуация - злоумышленник попадает на сервер (ладно серверу и данным хана). Но сервер также подключен к системе контроля версий и следовательно злоумышленник получает доступ и к основному VCS репозиторию. Что теоретически он может там натворить? Есть ли возможность как то ограничить доступ к репозиторию со стороны сервера на запись в этом случае?
С ключами понятно. Файл config в gitignore например и потом отдельно ручками на прод.
Что можно посмотреть по поводу Continuous Integration серверов? Никогда не сталкивался.
В прицепе, если сделать отдельную папку и связать ее с продом, то в этом есть смысл. Просто переносить в эту папку код из рабочей папки по необходимости тем же скриптом. Тогда, да, согласен можно такое сделать, тогда отпадет необходимость лазить на прод по ssh. Но это тогда получается 3 способ в дополнение к первым двум что я указал.
А синхронизировать рабочую папку проекта на dev или тестовом сервере с продом надеюсь никто не догадается :)
Это плохая сторона для продакшена. Нельзя синхронизировать прод с чем либо таким образом. rsync мгновенно синхронизирует папки на двух разных машинах (зеркалирование ). Деплой на прод должен осуществляться "вручную" когда это надо. То что вы посоветовали больше подходит для синхронизиции dev сервера и машины разработчика, когда надо чтобы любой "чих" сразу попадал на сервер для тестирования.
Спасибо за ответ. Ты укрепил мои убеждения в правильности выбора Flask для нового проекта вместа Django. Хотя последнее время я стал сомневаться в этом. Просто Flask с кучей библиотек превратился в настоящего монстра и я грешным делом подумал что надо было сразу браться за Django.
Ну значит я не настолько хорошо знаю про ruby :) Спасибо за информацию. Rails в лучах своей славы просто затмил все остальное. Куда не кинься везде, где ruby - значит Rails. А вот на python это не значит что Django.
Для мобильных приложений не очень подходит, наверное даже никак не подходит. Мобильные приложения это другой мир - там сразу надо про native языки думать иначе ничего хорошего не выйдет.
Мне как-то советовали делать так: go build -o server && ./server
Так же работает если делать так: go run *.go
Но если это именно web проект и запускается сервер, то лучше использовать https://github.com/codegangsta/gin для live reload
neolink по ходу проблема не в samba (самбу отключил и сделал локальную папку). Я по ходу я загрузил слишком много всяких библиотек в src (43метра). Не знаю по какому принципу там происходит анализ кода, но по ходу скорость работы зависит от количества кода в src. :)
neolink справа вверху там такой квадратик, во время анализа кода там еще отображается символ в виде глаза (включает три пункта: syntax analysis, inspections и show inspections) Вот пока каждому нажатию клавиши запускается этот анализ. Вот чтобы увидеть подсвеченные проблемы в коде надо ждать пока это анализ завершится.