2010-01-02 4 views
2

У меня много небольших проектов (дома и на работе). Я пишу сценарий для автоматизации выпуска. Я делаю это в свое свободное время, чтобы изучить Python.Стоит ли мой сценарий выпуска?

На самом деле это делает довольно легкую работу:

Для каждого конкретного проекта:

  1. папку Экспорт репозиторий SVN
  2. Создать архив (tar.gz, почтовый и т.д.) с ним
  3. Загрузить его на общественный FTP сервер

Он может обрабатывать туловище и тег s (т.е. экспортировать текущий каталог или экспортировать каждую папку в данный каталог). Это поддержка нескольких репозиториев.

Однако я не опытный программист, и так как он работает примерно я прошу некоторые серьезные вопросы:

  • это лучший способ управлять релизов (или метки, что вы его называете)?
  • Может ли этот проект быть полезным для всех, кроме меня?
  • Этот проект стоит того, или я должен вернуться к написанию некоторых строк оболочки в crontab для выполнения той же работы?

Спасибо.

+3

Если вы учитесь, и вам это нравится, пойдите для этого.Если бы это было частью профессионального/рабочего проекта, я бы сначала рассмотрел существующие решения; для хобби/образовательной работы, это здорово –

+0

Как мог кто-нибудь судить, является ли ваша конкретная реализация «лучшим» способом сделать это, не читая код? – bmargulies

+0

Майкл, я делаю это для удовольствия, но я готов использовать его на работе. bmargulies, я говорил о том, что делает программа, а не о самом коде. – SamK

ответ

1

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

Это лучший способ управлять релизами (или тегами, как вы его называете)?

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

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

Может ли этот проект быть полезным для всех, кроме меня?

Определенно! Даже если вы этого не думаете, поставьте его на Github (или везде), и он может быть частью вашего портфеля программного обеспечения.

Смежные вопросы