Покупка машины для непрерывной интеграции - ключевые факторы?

Чтобы получить временную метку на сегодня в 12:00, используйте:

set timestamp [clock scan "12:00:00" -format "%H:%M:%S"]

или

set timestamp [clock scan "12:00" -format "%H:%M"]

Чтобы получить такую ​​временную метку для другого произвольного дня, вычислите базовая временная метка , а затем используйте -base, чтобы применить ее во время вышеуказанной операции. (Значение по умолчанию для -base является результатом clock seconds во время вызова; это наиболее полезно. Кроме того, если вы анализируете дату без времени, то временная часть принимается за полночь этого дня. )

set base [clock scan "2018/12/25" -format "%Y/%m/%d"]
set timestamp [clock scan "12:00:00" -format "%H:%M:%S" -base $base]
puts [clock format $timestamp]

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


Конечно, clock scan также выведет, что вы говорили о часах, минутах и ​​секундах, если не используете опцию -format, но это довольно странно и не рекомендуется, если вы действительно знаете формат. (Он плохо справляется с датами заказа за пределами США, и внутренний синтаксический анализатор, который он использует в этом случае, имеет некоторые странные поведения.)

7
задан Oddmund 16 November 2008 в 11:10
поделиться

8 ответов

Вы действительно не испытываете необходимость в этом мощном из машины. Если Вы запускаете тесты или другие метрики, обрабатывание способности является, вероятно, Вашей первоочередной задачей, но действительно Вы могли выполнить это на старом pentium 1, и это будет, вероятно, работать.

Ваши ограничения будут Вашей операционной средой. Если Вы - ходовой огонь, Вы хотите использовать машину, которая может обработать установку ЛАМПЫ хорошо, которая является в значительной степени, любой *отклоняет машину, которая довольно современна.

Я настроил непрерывную установку интеграции для.NET на старой рабочей станции Pentium4, у нас было наложение вокруг, и это обработало очень хорошо.

Одной вещью иметь в виду является пространство памяти при архивации кода в сборке.

6
ответ дан 6 December 2019 в 15:39
поделиться

Устройство хранения данных стало проблемой для нас, когда мы использовали Знатока, Continuum и Clearcase и создавали каждый час. Представления снимка разбрасывались после каждой сборки.

Мы имели достаточно мощное поле (Пожар в Sun V490) и использовали его для нашей среды интеграции разработки и репозитория Archiva. Таким образом, у нас никогда действительно были любые проблемы с производительностью и памятью. На самом деле единственное время, у нас была проблема с памятью PermGen, она создавала цель сайта Знатока и это просто, означало использовать-XX:MaxPermSize=128m.

3
ответ дан 6 December 2019 в 15:39
поделиться

На основе моего опыта это не должно быть машиной электростанции. Любая машина, которую Вы использовали бы для разработки, будет более, чем удовлетворительной. Очевидно, чем быстрее машина, тем быстрее ответ, если Вы выполняете модульные тесты на фиксациях кода. Наш сервер CI выполняет XP SP2, процессор 3G, 3G RAM, и это - путь, подавленный для наших потребностей прямо сейчас. Тем не менее хорошо получить электронное письмо не больше, чем спустя 6 минут после фиксации, который сообщает, является ли сборка чистой и вся тестовая передача. Для того, чтобы сделать ночные сборки, спецификации могут, вероятно, понизиться больше, поскольку у Вас, вероятно, есть больше времени, чтобы сделать их. Пространство на жестком диске (300G довольно достижимо в эти дни) хорошо для хранения отчетов и сборок к регрессии, но если у Вас есть NAS, можно, вероятно, отодвинуть артефакты после того, как они были созданы.

2
ответ дан 6 December 2019 в 15:39
поделиться

В значительной степени любая новая машина, которую Вы могли купить сегодня, может справиться с задачей непрерывной интеграции на not-too-large исходном дереве. Некоторые вещи искать:

  • 2-4GB из RAM, больше если Вы хотите запустить много тестов параллельно или Вы хотите выполнить виртуальные машины для моделирования клиентов.
  • Многоядерный процессор (или несколько процессоров) для увеличения возможностей ловли ошибок многопоточного выполнения.
  • Машины класса "Сервера" имеют тенденцию обрабатывать 24/7 операцию лучше, чем "настольные" машины класса, но между двумя нет никакого свободного пути.
  • RAID1 или избыточные диски RAID1+0 - необходимость. Даже если у Вас есть резервные копии (и у Вас должны быть они так или иначе), это - боль для восстановления сервера, и дополнительный жесткий диск за 100$ более, чем стоит денег как страховка.
2
ответ дан 6 December 2019 в 15:39
поделиться

RAM: достаточно выполнять Ваш инструмент CI (phpUnderControl?) и безотносительно поддерживающего программного обеспечения Вы хотите для своей сборки и тестов.

Устройство хранения данных: решите, сколько старых сборок Вы хотите сохранить машину. По моему опыту, не полезно сохранить очень многих, особенно если у Вас есть малочисленная команда w/out большой формальный процесс для отката к более старым сборкам.

ЦП: надуманный вопрос. Любая машина, которую можно купить, будет работать.

Таким образом между двумя я склонен одобрять RAM по Пространству памяти.

1
ответ дан 6 December 2019 в 15:39
поделиться

Если приложение не огромно, я просто получил бы двухъядерное поле приблизительно с 4 концертами поршня и вероятно 2 довольно быстрыми дисковыми наборами SATA в RAID 0. 500 Концертов, возможно?

Если Вы хотите быть действительно в безопасности с ним, добраться два 70ish диски ГБ для RAID 0 для раздела ОС и затем 3 140 + диски концерта в RAID 5 для данных.

0
ответ дан 6 December 2019 в 15:39
поделиться

Производительность машины едва имеет значение, но проявите хорошую заботу о доступности, потому что, после того как Вы начинаете использовать ее и однажды волшебный дым выходит, Вам нужен в замененный скоро, чтобы продолжить работать. Определите разумную резервную политику и удостоверьтесь, что Вы знаете, как настроить новую идентичную систему при необходимости. Например, у Вас мог бы быть выполненный от небольшого раздела, который можно отобразить в другую машину, и затем основная часть данных может быть физически перемещена, если это находится на RAID1 и по крайней мере одной работе диска (хотя имеют резервное копирование в наличии в другом месте в сети также).

0
ответ дан 6 December 2019 в 15:39
поделиться

Я думаю одна вещь, которую здесь достигает много людей, машина, не так важно как программное обеспечение CI. Единственное время машина важна, - то, при необходимости в различной архитектуре. Иначе получите машину, которая соответствует Вашей целевой среде. При создании приложения для сервера могло бы быть мудро получить процессор на 64 бита, так как приложение, вероятно, будет работать на сервере на 64 бита.

Я заботился бы больше, о котором инструменте я - usinging для CI. Вам нужно что-то, что будет работать быстро, и как люди здесь указали, это не должно содержать на старые сборки, если Вам не нужны они, чтобы быть доступными. Если так, я искал бы что-то, что позволяет загружать сборки и результаты к отдельному серверу.

0
ответ дан 6 December 2019 в 15:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: