Как отследить проекты посторонние причуды

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

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

  • Ряд замысловатых внутренних команд компании, прежде чем я буду мочь insitgate SSH.
  • Удостоверяясь любые сторонние классы, которые выполняют внешние вызовы, сделали, чтобы внутренняя компания проксировала установку опций - также удостоверяясь они устанавливающие привычку быть настроенным при установке на продуктивной среде
  • Удостоверяясь прокси установлен прежде, чем попытаться установить грушевые пакеты.
  • Другие подобные вещи, главным образом включая внутреннюю безопасность IT-систем и заставляя это работать с модулями и пакетами.

Индивидуально ни одна из этих вещей не огромное соглашение, и я написал обширные записки мне относительно точных команд и дополнений, которые я сделал, но они в настоящее время находятся в общем текстовом документе, и будет трудным помнить точно, где то, в чем я нуждаюсь, далеко по линии. У нас также есть несколько новых сотрудников, запускающихся скоро, и я' скорее даю им более легкое время установки их сред программирования.

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

5
задан Steerpike 27 April 2010 в 10:43
поделиться

4 ответа

Мы используем вики для размещения подобных инструкций. Позволяет всем знать единое место для доступа к информации и поддерживать ее в актуальном состоянии, если на шагах что-то изменится.

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

7
ответ дан 18 December 2019 в 10:42
поделиться

Инкапсулируйте каждую из этих задач в какой-либо сценарий (bash, python, applescript, autohotkey, все, что подходит для задачи).

Затем создайте различные мета-скрипты для их вызова. Например. "set_up_everything.bash".

По сути: вместо того, чтобы тратить время на то, чтобы записывать все, что вам нужно сделать, потратьте время на написание сценария / программы, которая делает все, что вам нужно делать.

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

Изменить:

Перечитывая ваш вопрос, это также решительно касается вашей точки зрения о помощи новым членам команды в повышении скорости: пусть они запускают сценарии, и бац! И если сценарии не работают (из-за различий в среде и т. Д.), Они по-прежнему предоставляют подробные пошаговые инструкции по выполнению действий и команд, которые необходимо выполнить.

6
ответ дан 18 December 2019 в 10:42
поделиться

Напишите скрипты для автоматизации этой работы. Время, потраченное на это, окупится с лихвой - вы сэкономите время на ежедневной работе и сэкономите время на привлечении новых разработчиков.

Возможно, для этих инструментов вам понадобится отдельный проект "bin", отделенный от кодовой базы. Начните с более простых задач и постепенно заполните все части. SSH можно безопасно использовать с помощью сценариев, используя правильные пары токенов. Такие инструменты, как capistrano или chef, довольно популярны. Подход заключается в том, чтобы делать по одному маленькому кусочку за раз, а цель - возможно, вы ее не достигнете - заключается в полной автоматизации.

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

2
ответ дан 18 December 2019 в 10:42
поделиться

План A: Устраните зависимость от внешних систем, создав соответствующую тестовую среду, которую вы можете контролировать. Это может включать создание фиктивных баз данных, макетов SOAP-серверов (SoapUI Mockservices) и т.д. Вы должны попытаться достичь точки, где вы сможете относиться ко всем внешним системам как к "черным ящикам", которые вы можете контролировать с помощью этих макетов/макетных/подстановочных сервисов, с минимальной переконфигурацией (например, заменой .ini файлов).
В идеале, это должно быть "устройство" для работы в среде, например, zip-файл с каталогом, содержащий все необходимые базы данных, исполняемые файлы и т.д.. Возможно, на флэш-накопителе.

Нет, я тоже не живу и не работаю в такой утопической среде! Но именно так, как я себе это представляю, это должно быть сделано.

План Б: Если предположить, что вы не можете сделать все вышеперечисленное, то вам придется тестировать внешние сети и серверы, т.е. ваш запрос к базе данных выполняется на чьем-то тестовом сервере базы данных, и вы надеетесь, что на нем находятся те же данные, что и при последнем тестировании. Поэтому вам необходимо иметь минимальный набор тестов, которые можно запустить, чтобы убедиться, что внешняя среда такая же, как и в прошлый раз. Это может быть вчера, в прошлом месяце, в прошлом году. Предположим, вам нужно получить записи о сотрудниках из тестовой базы данных HR. Итак, у вас есть тестовое приложение, которое гарантирует, что оно может подключиться, войти в систему, запросить записи и сравнить набор результатов с "последним хорошим" набором результатов. Теперь вы готовы к работе. Если вы не смогли зайти так далеко, поработайте над этим (исправьте логин, конечные точки, имена хостов, прокси, настройте учетную запись, обновите драйверы и т.д.). ДО того, как вы будете беспокоиться о кодировании/тестировании/демонстрации остальной части системы. Это сэкономит много времени и предотвратит отсев новых разработчиков, которые сдаются и уходят через 3 дня, потому что ничего не работает.

Обновление: И что бы вы ни делали, проверьте это в системе контроля версий, чтобы вы могли вернуться, сравнить и т.д..

1
ответ дан 18 December 2019 в 10:42
поделиться
Другие вопросы по тегам:

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