@Artem0071
Безработный mr. Junior

Как делается версионирование?

Проект:
бэкенд - api.site.com - чистый пхп (без использования фреймворков)
фронт - site.com - vue.js

Сначала делаю на локалке
Затем комичу в гит изменения и заливаю по фтп на сервер и на фронт
1 проблема: Ведь когда я заливаю, есть промежуток в ~минуту когда бэк не совпадает с фронтом

2 проблема: Я делаю на локалке => все ссылки изначально на localhost. В какой момент изменять их на боевой сервер? (например, ссылка на отправку формы на фронте - api.localhost.com/auth В какой момент менять на api.site.com/auth (перед коммитом или после, или как вообще?))

3 проблема: Часто вижу во всяких статьях что люди делают коммит в master и все автоматически как то заливается, может это как то поможет?
  • Вопрос задан
  • 1562 просмотра
Пригласить эксперта
Ответы на вопрос 2
Krasnodar_etc
@Krasnodar_etc
fundraiseup
3 - да, для этого есть webhook.js для git . Как его создать - в гугле куча мануалов. Работает он, кажется, через ssh, то есть надо сделать себе ssh-ключ для git . Опять же, мануалов много по этой теме.

2 - Переменные окружения. Допустим, перед запуском проекта в консоли напишите: export NODE_ENV=development
В шаблоне/в коде создайте переменную, которая будет отвечать за ссылки в зависимости от значения NODE_ENV .
var api_url = process.env.NODE_ENV === 'development' ? 'тут локальный адрес' : 'тут боевой адрес';


И всё, осталось подставить эту переменную в ссылку.

1 - webhook.js помогает и в этом.
Ответ написан
Комментировать
Maksclub
@Maksclub Куратор тега Веб-разработка
maksfedorov.ru
В какой момент изменять их на боевой сервер?

Вынесите в конфиг, чтобы ссылки в коде не были прописаны, а была прописана переменная из конфига. Поизучайте как сделаны окружения у фреймов, не сложно повторить простейшую конфигурацию. У node.js есть через NODE_ENV можно настраивать окружения,
вот еще нашел https://habrahabr.ru/company/nordavind/blog/197166/

Затем комичу в гит изменения и заливаю по фтп на сервер и на фронт

Это как при работе с Гитом появился ФТП? Гит на локалке, гит на сервере, репозиторий -- посередине.
1. Локально сделали изменения, закоммитили -- сделали пуш в репо
2. Из репо сделали пулл на сервер

во всяких статьях что люди делают коммит в master и все автоматически как то заливается

Перед этим они закоммитили в др ветки и все оттестили, потом смерджили в мастер, и уже настроенный софт видит измененный мастер и катит на боевой сервер вместе с различными миграциями, доп изменениями (у нжинкса например конфиг изменился или ноду презапустить)

Итог:
1. Изучите как настроить простейшее окружение (develop + production)
2. Разберитесь с работой GIT
3. Копните в сторону CI,
https://habrahabr.ru/post/82724/
Ответ написан
Ваш ответ на вопрос

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

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