Как лучше всего обновить веб-сайт от подверсии

Попробуйте использовать шаблонный литерал

<TouchableOpacity onPress={() => this.setState({ [`isVisible${index}`]: 
true })}>
5
задан dl__ 16 October 2008 в 13:12
поделиться

9 ответов

Экспорт может быть автоматически сделан после каждой фиксации с рычагом постфиксации:

http://svnbook.red-bean.com/en/1.5/svn.ref.reposhooks.post-commit.html

Можно установить рычаг для автоматического экспорта проекта в скрытой области для тестирования онлайн.

7
ответ дан 18 December 2019 в 09:55
поделиться

Я не рекомендовал бы проверить Ваш код к Вашему рабочему серверу. Это может потенциально выставить файлы управления svn (.svn) на сервере.

Я рекомендовал бы использовать сценарий (Python, рубин, и т.д.) объединенный с командной строкой svn и клиентом FTP для экспорта файлов из svn и ftp файлы к серверу. Команда экспорта svn может использоваться для проверки ряда файлов с svn сервера без всех .svn каталогов. Кроме того, не забывайте отмечать репозиторий SVN при выполнении этого так, у Вас есть контрольная точка того, что Вы развернули.

4
ответ дан 18 December 2019 в 09:55
поделиться

Мы развертываемся через Подверсию и используем инструменты миграции базы данных (с управлением версиями схемы), чтобы сделать это.

(http://blog.lavablast.com/post/2008/02/I2c-for-one2c-welcome-our-new-revision-control-overlords!.aspx)

(Мы разрабатываем в.NET),

2
ответ дан 18 December 2019 в 09:55
поделиться

Что относительно того, чтобы проверить код для размещения, откуда Вы хотите выполнить его?

1
ответ дан 18 December 2019 в 09:55
поделиться

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

1
ответ дан 18 December 2019 в 09:55
поделиться

Управление версией кода и управление версиями базы данных являются двумя совсем другими проблемами. Решение, которое я предпочитаю, сделано на трех этапах (Тест, Тест Развертывания, Живой), а не два.

  • Обновите код и примените изменения базы данных с помощью сценариев в среде разработки
  • Загрузите живую базу данных на тестовую среду развертывания, восстановите ее и примените сценарии изменения
  • Протестируйте код против 'синхронизируемой' живой базы данных
  • Обновите продуктивную среду через svn от соответствующего ответвления по репозиторию (мы делаем это через ssh, туннелирующий, так как это - среда Linux), и примените сценарии изменения к живому дб

Править: Обновление для продуктивной среды лучше всего сделано с помощью экспорта, а не контроля/обновления. Это не оставляет файл управления svn бродящим вокруг. Это может или не может иметь последствий безопасности, это действительно вынуждает Вас указать, какое ответвление Вы проверяете каждый раз все же.

Ваш 'один щелчок' мог, вероятно, быть задан сценарием для последнего шага.

1
ответ дан 18 December 2019 в 09:55
поделиться

Я рекомендовал бы:

  • копирование каждой старой сборки к ее собственному каталогу (для быстрых восстановлений; вероятно, только необходимо сохранить один из них) в non-web-accessible части сервера.
  • Затем используйте svn export получить всю новую сборку от svn. Не использовать svn checkout, поскольку это оставит .svn каталоги повсеместно.
0
ответ дан 18 December 2019 в 09:55
поделиться

Я рекомендую записать своего рода сценарий, который делает это для Вас. Делаете ли Вы это с PHP, или что-то еще ваше дело. Просто помните о безопасности, когда Вы сделаете это.

Выполнение экспорта Вашего проекта не экспортирует svn:externals, который Вы, возможно, установили, что означает, что необходимо сделать несколько экспорта. При сценариях этого, это не было должно, конечно, будучи большой частью проблемы. Другая вещь с экспортом, если Вы проектируете, является большой (при использовании большого количества видео, PDF и т.д.), затем, экспорт может быть довольно громоздким, особенно когда управление версиями размещается удаленное и только доступное через HTTP.

Я рекомендую, чтобы Вы сделали контроль и удостоверились, что Ваш сервер не может служить никаким файлам, расположенным в скрытых .svn папках.

1
ответ дан 18 December 2019 в 09:55
поделиться

Спасибо за все ответы, очень помогли доказать, что я не ошибаюсь. Мы разрабатываем и тестируем локальную проверку онлайн-хранилища подрывной деятельности. Когда мы хотим развернуть новую версию, мы запускаем скрипт, который в основном удаляет текущий экспорт на реальном тестовом сервере, создает новый экспорт и затем развертывает его на всех веб-серверах через rsync.

Проблема с этим: Rsync всегда копирует все файлы при развертывании на liveserver из-за полностью свежего экспорта. На самом деле я никогда не тратил время на то, чтобы узнать, как обновить экспорт.

На другой машине у меня просто оформление заказа и развертывание с помощью rsync - без .svn

0
ответ дан 18 December 2019 в 09:55
поделиться
Другие вопросы по тегам:

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