Nuget вопрос про сборку и версии.
От: Философ Ад http://vk.com/id10256428
Дата: 17.08.17 19:48
Оценка:
Побаиваюсь этой штуки. Пока использовал только чтобы поиграться.
Интересуют такие вопросы:

1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).

2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?

4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?

3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .

UPD: как сделать всё вышеуказанное.
Всё сказанное выше — личное мнение, если не указано обратное.
Отредактировано 17.08.2017 19:52 Философ . Предыдущая версия .
Re: конфликт сборок
От: Codechanger Россия  
Дата: 17.08.17 20:01
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Побаиваюсь этой штуки. Пока использовал только чтобы поиграться.

Ф>Интересуют такие вопросы:

Ф>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).

Нет

Ф>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?

Нет

Ф>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?

Если кроме разработчиков коммитов никто не делал, то да

Ф>3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .


Ничего не понял

Ф>UPD: как сделать всё вышеуказанное.


А если серьезно — всегда можно задать версию пакета при установке плюс, если совсем паранойя, поднять локальный нугет сервер.
Re: Nuget вопрос про сборку и версии.
От: vmpire Россия  
Дата: 17.08.17 20:33
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Побаиваюсь этой штуки. Пока использовал только чтобы поиграться.

Ф>Интересуют такие вопросы:

Ф>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).

Можно, если пакеты на сервер уже загружены. Если при каждом билде они перезагружаются — нельзя.

Ф>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?

Нет. Никто не мешает разработчику скачать себе локально другую версию.
Но можно на билдовой машине проверять версии пакетов при билде (вручную)

Ф>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?

Да. В солюшне ссылка ставится на конкретную версию пакета.
Если только автор пакета под той же версией не выложит другой код

Ф>3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .

Непонятно

Ф>UPD: как сделать всё вышеуказанное.

Так же, как и без нугета: рассказать всем, что требуется и устраивать периодически сеансы проверки.
Re[2]: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 05:34
Оценка:
Здравствуйте, vmpire, Вы писали:

Ф>>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).

V>Можно, если пакеты на сервер уже загружены. Если при каждом билде они перезагружаются — нельзя.

Можно, если создать свой фид пакетов.

V>Но можно на билдовой машине проверять версии пакетов при билде (вручную)


Проверять где? В репозитории пакетов? Зачем?

V>Если только автор пакета под той же версией не выложит другой код


Для nuget.org это невозможно.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 05:48
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).


Ты всегда можешь сделать свой локальный репозиторий. Но на практике лично я с проблемами подобного рода пока не сталкивался.

Ф>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?


Можно, если разработчики регулярно обновнялются.

Ф>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?


Можно, если разработчики регулярно коммитят.

Ф>3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .


Да.

Ф>UPD: как сделать всё вышеуказанное.


Искаропки, кроме локального репозитория. Репозиториев для локального развертывания пачка — TFS, ProGet и т.п.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[3]: Nuget вопрос про сборку и версии.
От: vmpire Россия  
Дата: 18.08.17 10:14
Оценка:
Здравствуйте, AndrewVK, Вы писали:


Ф>>>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).

V>>Можно, если пакеты на сервер уже загружены. Если при каждом билде они перезагружаются — нельзя.

AVK>Можно, если создать свой фид пакетов.

Это принципиально дело не меняет. В фид пакеты тоже должны быть загружены. Если их там нет, а произошёл сбой — пакетов не будет.
Сервером пакетов в этом случае становится фид.
Но фид, конечно, надёжнее, тут спору нет.

V>>Но можно на билдовой машине проверять версии пакетов при билде (вручную)

AVK>Проверять где? В репозитории пакетов? Зачем?
Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"

V>>Если только автор пакета под той же версией не выложит другой код

AVK>Для nuget.org это невозможно.
Тут я не в курсе, может и невозможно. А это где-то официально гарантируется?
Re[4]: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 12:40
Оценка:
Здравствуйте, vmpire, Вы писали:

AVK>>Можно, если создать свой фид пакетов.

V>Это принципиально дело не меняет.

В плане пропадания внешнего сервера как раз принципиально и меняет.

V> В фид пакеты тоже должны быть загружены.


Это проблема?

V> Если их там нет, а произошёл сбой — пакетов не будет.


А почему их там нет?

AVK>>Проверять где? В репозитории пакетов? Зачем?

V>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"

Я по прежнему не понимаю что и где ты предлагаешь проверять.

V>Тут я не в курсе, может и невозможно. А это где-то официально гарантируется?


Да.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[2]: Nuget вопрос про сборку и версии.
От: Философ Ад http://vk.com/id10256428
Дата: 18.08.17 12:45
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Философ, Вы писали:


Ф>>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).

AVK>Ты всегда можешь сделать свой локальный репозиторий. Но на практике лично я с проблемами подобного рода пока не сталкивался.

т.е. нужно обязательно делать свой репозиторий получается?

Ф>>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?

AVK>Можно, если разработчики регулярно обновнялются.

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

Ф>>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?

AVK>Можно, если разработчики регулярно коммитят.

Т.е. по дефолту нельзя и свой репозиторий таки обязателен?


Ф>>UPD: как сделать всё вышеуказанное.

AVK>Искаропки, кроме локального репозитория. Репозиториев для локального развертывания пачка — TFS, ProGet и т.п.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[5]: Nuget вопрос про сборку и версии.
От: vmpire Россия  
Дата: 18.08.17 13:32
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>Можно, если создать свой фид пакетов.

V>>Это принципиально дело не меняет.
AVK>В плане пропадания внешнего сервера как раз принципиально и меняет.
Не меняет. Пакеты, загруженные единоразово на билд-сервер (например, в сорс-контроле) и пакеты, загруженные на свой фид — это по надёжности одинаково.
Принципиально здесь иметь мастер копию локально (на билд сервере или в свооём фиде) или нет. А в каком виде иметь — не так важно.
Мы вот, например, по ряду причин выбрали хранение в сорс контроле. Некрасиво, но надёжно.

V>> В фид пакеты тоже должны быть загружены.

AVK>Это проблема?
Нет. Так же, как и загрузить их на билд-сервер

V>> Если их там нет, а произошёл сбой — пакетов не будет.

AVK>А почему их там нет?
Ну, в принципе, да, деваться им оттуда некуда, согласен.

AVK>>>Проверять где? В репозитории пакетов? Зачем?

V>>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"
AVK>Я по прежнему не понимаю что и где ты предлагаешь проверять.
Я так понял, что автору важно проверять, что все девелоперы в продукте используют одну версию каждого пакета.
Например, если HtmlAgilityPack, то именно версии 1.4.9, а не каждый свою.
Так как нугет без проблем позволяет использовать несколько версий одного пакета, то я не вижу, как это можно гарантировать, кроме как искуственной проверкой.
Re[6]: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 13:57
Оценка:
Здравствуйте, vmpire, Вы писали:

AVK>>В плане пропадания внешнего сервера как раз принципиально и меняет.

V>Не меняет. Пакеты, загруженные единоразово на билд-сервер (например, в сорс-контроле) и пакеты, загруженные на свой фид — это по надёжности одинаково.

Да. Но вопрос был о надежности фида на nuget.org.

V>>>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"

AVK>>Я по прежнему не понимаю что и где ты предлагаешь проверять.
V>Я так понял, что автору важно проверять, что все девелоперы в продукте используют одну версию каждого пакета.
V>Например, если HtmlAgilityPack, то именно версии 1.4.9, а не каждый свою.
V>Так как нугет без проблем позволяет использовать несколько версий одного пакета

В одном проекте???
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[3]: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 13:57
Оценка:
Здравствуйте, Философ, Вы писали:

AVK>>Ты всегда можешь сделать свой локальный репозиторий. Но на практике лично я с проблемами подобного рода пока не сталкивался.

Ф>т.е. нужно обязательно делать свой репозиторий получается?

Если у тебя паранойя — да. Если нет — не обязательно.

Ф>>>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?

AVK>>Можно, если разработчики регулярно обновнялются.
Ф>а как быть в том случае, если разработчик работает над патчем для предыдущего релиза?

Нугет все умеет. Он хранит все использованные версии пакетов. А если их грохнули — скачивает из фида по новой.

Ф>>>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?

AVK>>Можно, если разработчики регулярно коммитят.
Ф>Т.е. по дефолту нельзя и свой репозиторий таки обязателен?

Все зависит от того что ты понимаешь под гарантией. И свой репозиторий в данном конкретном вопросе ничего не меняет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[7]: Nuget вопрос про сборку и версии.
От: vmpire Россия  
Дата: 18.08.17 14:21
Оценка:
Здравствуйте, AndrewVK, Вы писали:

V>>>>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"

AVK>>>Я по прежнему не понимаю что и где ты предлагаешь проверять.
V>>Я так понял, что автору важно проверять, что все девелоперы в продукте используют одну версию каждого пакета.
V>>Например, если HtmlAgilityPack, то именно версии 1.4.9, а не каждый свою.
V>>Так как нугет без проблем позволяет использовать несколько версий одного пакета
AVK>В одном проекте???
Я написал "в продукте", а не "в проекте". В продукте может быть много проектов, связанных друг с другом.
И если там будут разные версии одной сборки, могут быть проблемы.
Re[8]: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 15:35
Оценка:
Здравствуйте, vmpire, Вы писали:

V>>>Так как нугет без проблем позволяет использовать несколько версий одного пакета

AVK>>В одном проекте???
V>Я написал "в продукте", а не "в проекте". В продукте может быть много проектов, связанных друг с другом.

В этом случае студия начинает показывать такие пакеты на вкладке Consolidate. А новая, 15.3, еще и варнинги при компиляции начнет писать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
Re[9]: Nuget вопрос про сборку и версии.
От: vmpire Россия  
Дата: 18.08.17 16:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>В этом случае студия начинает показывать такие пакеты на вкладке Consolidate. А новая, 15.3, еще и варнинги при компиляции начнет писать.

В новой нугет ещё не использовал с большими проектами, если есть варнинги — это здорово. Хотя, к сожалению, бывают проекты, где на варнинги не сморят, они там десятками вылезают. "А что, оно всегда так бюло"
А на вкладке consolidate оно что-то показывает только если на эту вкладку смотреть.
А вопрос был (по крайней мере, как я его понял) как девелоперов сверху проконтролировать.
Вообще, хорошо бы топикстартер уточнил, что именно он хочет и зачем.
Re[10]: Nuget вопрос про сборку и версии.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.08.17 16:23
Оценка:
Здравствуйте, vmpire, Вы писали:

V>А на вкладке consolidate оно что-то показывает только если на эту вкладку смотреть.


Ну знаешь, если засунуть голову в песок то проблемы ты точно поимеешь, вне зависимости от того используешь нугет или нет.

V>А вопрос был (по крайней мере, как я его понял) как девелоперов сверху проконтролировать.


Не, вопросы был про некие непонятные гарантии и прочие религиозные вещи. Бюосю, дело не в контроле, а в самоуспокоении.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.