Попробуйте использовать шаблонный литерал
<TouchableOpacity onPress={() => this.setState({ [`isVisible${index}`]:
true })}>
Экспорт может быть автоматически сделан после каждой фиксации с рычагом постфиксации:
http://svnbook.red-bean.com/en/1.5/svn.ref.reposhooks.post-commit.html
Можно установить рычаг для автоматического экспорта проекта в скрытой области для тестирования онлайн.
Я не рекомендовал бы проверить Ваш код к Вашему рабочему серверу. Это может потенциально выставить файлы управления svn (.svn) на сервере.
Я рекомендовал бы использовать сценарий (Python, рубин, и т.д.) объединенный с командной строкой svn и клиентом FTP для экспорта файлов из svn и ftp файлы к серверу. Команда экспорта svn может использоваться для проверки ряда файлов с svn сервера без всех .svn каталогов. Кроме того, не забывайте отмечать репозиторий SVN при выполнении этого так, у Вас есть контрольная точка того, что Вы развернули.
Мы развертываемся через Подверсию и используем инструменты миграции базы данных (с управлением версиями схемы), чтобы сделать это.
(Мы разрабатываем в.NET),
Что относительно того, чтобы проверить код для размещения, откуда Вы хотите выполнить его?
При установке клиента командной строки Подверсии довольно легко сделать пакетный файл / сценарием оболочки, который сделает экспорт контроля последнего пересмотра от репозитория до папки на сервере. Это требует, чтобы у Вас была та же файловая структура в Подверсии, как Вы делаете на сервере, хотя (если Вы не хотите добавить логику для изменения структуры в сценарии, конечно).
Управление версией кода и управление версиями базы данных являются двумя совсем другими проблемами. Решение, которое я предпочитаю, сделано на трех этапах (Тест, Тест Развертывания, Живой), а не два.
Править: Обновление для продуктивной среды лучше всего сделано с помощью экспорта, а не контроля/обновления. Это не оставляет файл управления svn бродящим вокруг. Это может или не может иметь последствий безопасности, это действительно вынуждает Вас указать, какое ответвление Вы проверяете каждый раз все же.
Ваш 'один щелчок' мог, вероятно, быть задан сценарием для последнего шага.
Я рекомендовал бы:
svn export
получить всю новую сборку от svn. Не использовать svn checkout
, поскольку это оставит .svn каталоги повсеместно.Я рекомендую записать своего рода сценарий, который делает это для Вас. Делаете ли Вы это с PHP, или что-то еще ваше дело. Просто помните о безопасности, когда Вы сделаете это.
Выполнение экспорта Вашего проекта не экспортирует svn:externals, который Вы, возможно, установили, что означает, что необходимо сделать несколько экспорта. При сценариях этого, это не было должно, конечно, будучи большой частью проблемы. Другая вещь с экспортом, если Вы проектируете, является большой (при использовании большого количества видео, PDF и т.д.), затем, экспорт может быть довольно громоздким, особенно когда управление версиями размещается удаленное и только доступное через HTTP.
Я рекомендую, чтобы Вы сделали контроль и удостоверились, что Ваш сервер не может служить никаким файлам, расположенным в скрытых .svn папках.
Спасибо за все ответы, очень помогли доказать, что я не ошибаюсь. Мы разрабатываем и тестируем локальную проверку онлайн-хранилища подрывной деятельности. Когда мы хотим развернуть новую версию, мы запускаем скрипт, который в основном удаляет текущий экспорт на реальном тестовом сервере, создает новый экспорт и затем развертывает его на всех веб-серверах через rsync.
Проблема с этим: Rsync всегда копирует все файлы при развертывании на liveserver из-за полностью свежего экспорта. На самом деле я никогда не тратил время на то, чтобы узнать, как обновить экспорт.
На другой машине у меня просто оформление заказа и развертывание с помощью rsync - без .svn