Subversion / TortoiseSVN Пометка и инструктаж Дженкинса для сборки по тэгу - PullRequest
2 голосов
/ 05 февраля 2012

Надеюсь, кто-нибудь сможет уточнить это для меня

URL текущего активного репозитория

В любое время я буду использовать более одного репозитория, поэтому мне нужно переключаться междунесколько URL репозитория.Как изменить URL-адрес для текущего активного хранилища?Например, я извлекаю файлы из репозитория A и указываю URL-адрес для репозитория A на клиенте TortoiseSVN.

Когда я перехожу в другую папку, где я хочу «добавить» новые файлы в другой репозиторий, например, в репозиторий B, как я могу изменить клиента так, чтобы он указывал на репозиторий B?Кажется, он застрял в URL хранилища А.

Пометка

Я знаком с TortoiseCVS и обычно, когда вы помечаете папку с помощью CVS / TortoiseCVS, она просто применяет тег (то есть метку) к файлам.Он не создает совершенно новую копию в другой папке.TortoiseSVN / Subversion вроде бы другой.Возможность пометить папку / файл, кажется, связана с ветвлением.Если я создаю тег, я получаю опции для указания мест, куда я хочу скопировать ветку.

Как именно это работает?Могу ли я не просто указать тег без создания копии?Все, что я хочу, это просто применить метку (как в TortoiseCVS / CVS)

Jenkins - Построить по тегу

Можно ли поручить Jenkins оформить заказ, используятег?Я не могу найти какую-либо информацию о том, как настроить jenkins для проверки и сборки по тегу.Существует много информации о том, как настроить jenkins для тега после сборки, но меня интересует, как создавать теги (используя как хранилище subversion, так и хранилище CVS).

Спасибо

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 февраля 2012

Просто хотел коснуться вашей проблемы с тегами.Не беспокойтесь о как метках Subversion.Он помечается с помощью команды svn copy.Это все, что вам нужно знать.

Subversion может копировать дерево в каталог в каталоге tags, но его можно использовать так же, как тег в CVS - снимок вашего хранилища в определенной точкесо временем, помеченный легко запоминающейся меткой.

На самом деле, пометка Subversion превосходит во многих отношениях:

  • Теги Subversion являются мгновенными.В CVS вам нужно подождать, пока CVS пометит каждый файл, и это может занять много времени, иногда даже больше часа.В Subversion вся операция происходит мгновенно.
  • В Subversion теги имеют историю, вы можете увидеть, кто создал тег и почему.Вы даже можете увидеть, был ли изменен этот тег и кем.

Единственная проблема заключается в том, что теги нельзя заблокировать, чтобы люди могли извлекать теги и изменять их.Однако это можно решить с помощью триггера предварительной фиксации.

Jenkins

Если у вас уже есть проект Jenkins в Subversion, вы можете скопировать задание Jenkins в новое задание и изменитьURL-адрес, который Jenkins использует для URL-адреса тега.В Subversion, в отличие от CVS, нет никакой разницы при извлечении тега, ветви или из ствола: это всего лишь какой-то URL.

2 голосов
/ 05 февраля 2012
  • Когда вы говорите об изменении URL репозитория, вы действительно упоминаете 3 различных случая :
    1. Вы хотите использовать другой URL в том же репо (разветвленный / транк к / ветке/ name на стороне сервера, хотите отразить это изменение в WC для работы с вашей веткой): svn help switch , 1-я форма - svn switch ^/branches/1.x-release
    2. Ничего не изменилось в дереве,просто по некоторым причинам изменили URL для той же точки кода (svn: // репозиторий / путь изменен на http://host/path или изменено имя хоста ...): svn help relocate - svn relocate <a href="http://www.example.com/repo/project" rel="nofollow">http://www.example.com/repo/project</a> svn://svn.example.com/repo/project
    3. Вы хотите работать с независимым, не связанным со старым, новым репо: просто закажите новый URL, не изобретайте колесо
  • Taggins / branching в Subversion всегда на основе пути, вы не можете просто добавить мета-информацию.Для каждой ветки / тега вы всегда создаете «дешевую копию» источника в условном месте (/ ветки и / теги являются наиболее часто используемым и принятым соглашением)
  • Jenkins - если вы можете использовать любой URL-адрес хранилища с Jenkins (Я ничего не знаю об этом), вы можете использовать тег URL, так же, как любой другой URL хранилища, но ...

Я не могу найти информацию о том, как настроить jenkins для проверкии построить по тегу

, потому что в CI используется инвертированный порядок действий.Теги (условно) являются неизмененными метками, помечают некоторое «достигнутое и проверенное состояние», таким образом - мы тестируем обычные ревизии в Branch | trunk, а теги только реверсии, прошедшие наши тесты после тестов.Еще одна цепочка тестов в том же коде, просто не добавляющая ничего полезного к результатам

...