Побаиваюсь этой штуки. Пока использовал только чтобы поиграться.
Интересуют такие вопросы:
1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).
2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?
4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?
3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .
UPD: как сделать всё вышеуказанное.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Философ, Вы писали:
Ф>Побаиваюсь этой штуки. Пока использовал только чтобы поиграться. Ф>Интересуют такие вопросы:
Ф>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).
Нет
Ф>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?
Нет
Ф>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?
Если кроме разработчиков коммитов никто не делал, то да
Ф>3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .
Ничего не понял
Ф>UPD: как сделать всё вышеуказанное.
А если серьезно — всегда можно задать версию пакета при установке плюс, если совсем паранойя, поднять локальный нугет сервер.
Здравствуйте, Философ, Вы писали:
Ф>Побаиваюсь этой штуки. Пока использовал только чтобы поиграться. Ф>Интересуют такие вопросы:
Ф>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс).
Можно, если пакеты на сервер уже загружены. Если при каждом билде они перезагружаются — нельзя.
Ф>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов?
Нет. Никто не мешает разработчику скачать себе локально другую версию.
Но можно на билдовой машине проверять версии пакетов при билде (вручную)
Ф>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики?
Да. В солюшне ссылка ставится на конкретную версию пакета.
Если только автор пакета под той же версией не выложит другой код
Ф>3) Можно ли как-нибудь гарантировать, что билд N.0.P.MMM соберётся с версиями пакетов доступными на момент, когда мы первый раз выкатили релиз с этим билдом .
Непонятно
Ф>UPD: как сделать всё вышеуказанное.
Так же, как и без нугета: рассказать всем, что требуется и устраивать периодически сеансы проверки.
Здравствуйте, vmpire, Вы писали:
Ф>>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс). V>Можно, если пакеты на сервер уже загружены. Если при каждом билде они перезагружаются — нельзя.
Можно, если создать свой фид пакетов.
V>Но можно на билдовой машине проверять версии пакетов при билде (вручную)
Проверять где? В репозитории пакетов? Зачем?
V>Если только автор пакета под той же версией не выложит другой код
Для nuget.org это невозможно.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, Философ, Вы писали:
Ф>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>>
Ф>>>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс). V>>Можно, если пакеты на сервер уже загружены. Если при каждом билде они перезагружаются — нельзя.
AVK>Можно, если создать свой фид пакетов.
Это принципиально дело не меняет. В фид пакеты тоже должны быть загружены. Если их там нет, а произошёл сбой — пакетов не будет.
Сервером пакетов в этом случае становится фид.
Но фид, конечно, надёжнее, тут спору нет.
V>>Но можно на билдовой машине проверять версии пакетов при билде (вручную) AVK>Проверять где? В репозитории пакетов? Зачем?
Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"
V>>Если только автор пакета под той же версией не выложит другой код AVK>Для nuget.org это невозможно.
Тут я не в курсе, может и невозможно. А это где-то официально гарантируется?
Здравствуйте, vmpire, Вы писали:
AVK>>Можно, если создать свой фид пакетов. V>Это принципиально дело не меняет.
В плане пропадания внешнего сервера как раз принципиально и меняет.
V> В фид пакеты тоже должны быть загружены.
Это проблема?
V> Если их там нет, а произошёл сбой — пакетов не будет.
А почему их там нет?
AVK>>Проверять где? В репозитории пакетов? Зачем? V>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов"
Я по прежнему не понимаю что и где ты предлагаешь проверять.
V>Тут я не в курсе, может и невозможно. А это где-то официально гарантируется?
Да.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Философ, Вы писали:
Ф>>1) Можно ли как-нибудь гарантировать, что проект соберётся: не будут удалены покаты с сервера, будет доступен или вообще не нужен сервер (например, его случайно не заблокирует роскомпозор, или, как это бывает у мелкософта "В работе Skype произошел глобальный сбой"(с)Интерфакс). AVK>Ты всегда можешь сделать свой локальный репозиторий. Но на практике лично я с проблемами подобного рода пока не сталкивался.
т.е. нужно обязательно делать свой репозиторий получается?
Ф>>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов? AVK>Можно, если разработчики регулярно обновнялются.
а как быть в том случае, если разработчик работает над патчем для предыдущего релиза?
Ф>>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики? AVK>Можно, если разработчики регулярно коммитят.
Т.е. по дефолту нельзя и свой репозиторий таки обязателен?
Ф>>UPD: как сделать всё вышеуказанное. AVK>Искаропки, кроме локального репозитория. Репозиториев для локального развертывания пачка — TFS, ProGet и т.п.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, AndrewVK, Вы писали:
AVK>>>Можно, если создать свой фид пакетов. V>>Это принципиально дело не меняет. AVK>В плане пропадания внешнего сервера как раз принципиально и меняет.
Не меняет. Пакеты, загруженные единоразово на билд-сервер (например, в сорс-контроле) и пакеты, загруженные на свой фид — это по надёжности одинаково.
Принципиально здесь иметь мастер копию локально (на билд сервере или в свооём фиде) или нет. А в каком виде иметь — не так важно.
Мы вот, например, по ряду причин выбрали хранение в сорс контроле. Некрасиво, но надёжно.
V>> В фид пакеты тоже должны быть загружены. AVK>Это проблема?
Нет. Так же, как и загрузить их на билд-сервер
V>> Если их там нет, а произошёл сбой — пакетов не будет. AVK>А почему их там нет?
Ну, в принципе, да, деваться им оттуда некуда, согласен.
AVK>>>Проверять где? В репозитории пакетов? Зачем? V>>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов" AVK>Я по прежнему не понимаю что и где ты предлагаешь проверять.
Я так понял, что автору важно проверять, что все девелоперы в продукте используют одну версию каждого пакета.
Например, если HtmlAgilityPack, то именно версии 1.4.9, а не каждый свою.
Так как нугет без проблем позволяет использовать несколько версий одного пакета, то я не вижу, как это можно гарантировать, кроме как искуственной проверкой.
Здравствуйте, 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>>Ты всегда можешь сделать свой локальный репозиторий. Но на практике лично я с проблемами подобного рода пока не сталкивался. Ф>т.е. нужно обязательно делать свой репозиторий получается?
Если у тебя паранойя — да. Если нет — не обязательно.
Ф>>>2) Можно ли как-нибудь гарантировать, что разработчики работают с одной и той же версией пакетов? AVK>>Можно, если разработчики регулярно обновнялются. Ф>а как быть в том случае, если разработчик работает над патчем для предыдущего релиза?
Нугет все умеет. Он хранит все использованные версии пакетов. А если их грохнули — скачивает из фида по новой.
Ф>>>4) Можно ли как-нибудь гарантировать, что билд соберётся ровно с теми версиями пакетов, с которыми сейчас работают разработчики? AVK>>Можно, если разработчики регулярно коммитят. Ф>Т.е. по дефолту нельзя и свой репозиторий таки обязателен?
Все зависит от того что ты понимаешь под гарантией. И свой репозиторий в данном конкретном вопросе ничего не меняет.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
V>>>>Ну вопрос-то прочитайте. Чтобы "гарантировать, что разработчики работают с одной и той же версией пакетов" AVK>>>Я по прежнему не понимаю что и где ты предлагаешь проверять. V>>Я так понял, что автору важно проверять, что все девелоперы в продукте используют одну версию каждого пакета. V>>Например, если HtmlAgilityPack, то именно версии 1.4.9, а не каждый свою. V>>Так как нугет без проблем позволяет использовать несколько версий одного пакета AVK>В одном проекте???
Я написал "в продукте", а не "в проекте". В продукте может быть много проектов, связанных друг с другом.
И если там будут разные версии одной сборки, могут быть проблемы.
Здравствуйте, vmpire, Вы писали:
V>>>Так как нугет без проблем позволяет использовать несколько версий одного пакета AVK>>В одном проекте??? V>Я написал "в продукте", а не "в проекте". В продукте может быть много проектов, связанных друг с другом.
В этом случае студия начинает показывать такие пакеты на вкладке Consolidate. А новая, 15.3, еще и варнинги при компиляции начнет писать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>В этом случае студия начинает показывать такие пакеты на вкладке Consolidate. А новая, 15.3, еще и варнинги при компиляции начнет писать.
В новой нугет ещё не использовал с большими проектами, если есть варнинги — это здорово. Хотя, к сожалению, бывают проекты, где на варнинги не сморят, они там десятками вылезают. "А что, оно всегда так бюло"
А на вкладке consolidate оно что-то показывает только если на эту вкладку смотреть.
А вопрос был (по крайней мере, как я его понял) как девелоперов сверху проконтролировать.
Вообще, хорошо бы топикстартер уточнил, что именно он хочет и зачем.
Здравствуйте, vmpire, Вы писали:
V>А на вкладке consolidate оно что-то показывает только если на эту вкладку смотреть.
Ну знаешь, если засунуть голову в песок то проблемы ты точно поимеешь, вне зависимости от того используешь нугет или нет.
V>А вопрос был (по крайней мере, как я его понял) как девелоперов сверху проконтролировать.
Не, вопросы был про некие непонятные гарантии и прочие религиозные вещи. Бюосю, дело не в контроле, а в самоуспокоении.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>