Я публикую неполный вопрос, частично бессвязный в надежде, что это вызовет дискуссию, а также ответит на мой вопрос, который, если честно, является скорее рядом требований.
Вмое рабочее место, сборки очень трудоемки.Это потому, что наша команда очень мала, и есть подозрение, что автоматизация неизбежно пойдет не так, потому что у нас нет опыта в команде, чтобы сделать это правильно.Я считаю это разумным, но ошибочным аргументом.У меня есть менеджер среднего звена, который, похоже, пользуется концепцией автоматизации и довольно успешно использует многочисленные мелкие функции автоматизации.
То, что я собираюсь сделать, это связать своего рода автоматизированную среду сборки с нашей системой релизов, которая требует от менеджеров составлять различную документацию.Это требование сертификации TickIT, а не переговоры.Я предполагаю, что создаю (Windows) рабочий процесс, для которого у нас настроена ИТ-инфраструктура и который знаком всем компаниям, который запрашивает у менеджеров документацию, которая должна быть зафиксирована для сборки и выпуска.Мы не компания-разработчик программного обеспечения, мы компания, которая продает программное обеспечение, поэтому эти функции должны быть связаны с нетехническими.
Итак, в общем, наш вариант использования будет выглядеть примерно так:
- Менеджер просматривает средство отслеживания задач и авторизует выпуск на основе текущего состояния
- Рабочий процесс запускается, кэшируя текущую версию SVN
- Рабочий процесс требует от менеджера проекта количество файлов в формате PDFдокументы и т. д., которые необходимо встроить в установочный пакет
- Рабочий процесс запускает процесс сборки на ранее кэшированной версии SVN в диспетчере интеграции, таком как CruiseControl (я включаю в это все, что делает непрерывная интеграция, включаямодульные тесты)
- Завершенные установочные пакеты автоматически устанавливаются на различные виртуальные машины (полный набор поддерживаемых операционных систем и языков) и предоставляются QA
- После завершения выхода из QA, установочные пакеты повторносдан в аренду
Естественно, поскольку ничего не работает должным образом, должна быть включена возможность «прервать» рабочий процесс и продолжить работу вручную в любое время, так как мы не хотим, чтобы релиз задерживался глупыммашина, которая не может делать свою работу, когда немного здравого смысла будет делать то же самое.
Есть ли у кого-нибудь что-нибудь, что можно было бы рассмотреть на примере такого рода процессов, или какие-либо комментарии о том, насколько простоэто может быть вызов, или даже насколько это уместно?