Сведения о вопросе

HEIGTH

17:55, 22nd August, 2020

Теги

svn   version-control   cvs   versions    

Возможно ли автоматически производить выезды из любого VCS?

Просмотров: 464   Ответов: 6

Давайте рассмотрим среду веб-разработки, в которой разработчики извлекают проект на свои локальные компьютеры, работают над ним и регистрируют изменения в процессе разработки.
Эти изменения далее тестируются на развитие и перемещаются в прямом эфире по регулярному графику (например, еженедельно, ежемесячно и т. д.).
Возможно ли иметь автоматическое перемещение последней помеченной версии (а не последней проверки, поскольку это не может быть стабильным 100%), например, 8 утра в понедельник утром, либо используя скрипт, либо встроенную функцию VCS?



  Сведения об ответе

PROGA

08:06, 11th August, 2020

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

Если вам не требуются все эти шаги, вы можете легко сделать то же самое с некоторыми сценариями shell или аналогичными (например, извлечение из системы управления версиями и копирование в рабочую папку на сервере).


  Сведения об ответе

9090

16:22, 27th August, 2020

Конечно, но точный продукт может зависеть от VCS, который вы используете.

То, что вы, возможно, захотите сделать, - это иметь несколько разных ветвей и мигрировать по мере продвижения. E.g., Разработка - > Стабильный-Dev - > Бета - > Производство. Затем вы можете просто автоматически обновить до последней версии Stable-Dev и Beta для своих тестеров и всегда иметь возможность развернуть новую производственную версию в любой момент.


  Сведения об ответе

lesha

09:52, 2nd August, 2020

Все, что вы можете сделать с cvs, можно сделать с помощью командной строки, и я уверен, что svn-это то же самое. Просто разработайте функциональность, которую вы хотите, и вставьте ее в сценарий shell или командный файл.


  Сведения об ответе

SEEYOU

21:06, 1st October, 2020

Единственные два, с которыми у меня есть опыт, - это SVN и Mercurial. Для Mercurial вы указываете, какую ветвь вы хотите обновить (скажем, по умолчанию), а затем всякий раз, когда вы объединяете ветвь в default, вы можете просто запустить сервер:

hg update

Который обновляет ваш репозиторий до последней версии ветки, в которую вы его установили.

SVN-это та же концепция, вы только проверяете, какую ветку вы хотите изначально

svn co http://host/repository/branchname/

затем вы должны обновить свой сервер с cron работа, аля

svn up

В теории, однако, любой VCS, который поддерживает ветвление (все хорошие делают: git, mercurial, SVN и т. д...), должен уметь делать что-то подобное этому.


  Сведения об ответе

crush

17:52, 3rd August, 2020

Я сомневаюсь, что многие VCSs предоставляют эту возможность напрямую,однако она должна быть очень проста в написании. Либо дата, либо филиал на основе проверки.


  Сведения об ответе

PIRLO

11:25, 17th August, 2020

В качестве последующей деятельности,

Я придерживаюсь мнения, что приложение должно выполнять одну работу и делать ее хорошо. Часто, если вы начнете объединять инструменты в один продукт, ни один из них не будет сиять, и большинство из них будет "хорошо, вроде".

Если бы я делал что - то подобное, я бы получил что-то вроде библиотеки SVN, ANT и Subversion Ant ( http://ant.apache.org/antlibs/svn/index.html) - ваш миллиметр может отличаться.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться