Чтобы помочь нашим клиентам и упростить нашу работу, наша группа поддержки создает и поддерживает ряд небольших (часто <50 строк) проприетарных скриптов на нескольких языках для упрощения обычных задач. В настоящее время они хранятся во многих местах, от внутренней вики до файлов .txt на собственных жестких дисках людей, на внутренних серверах и т. Д., И становится все труднее отслеживать последнюю версию каждого из них.
На самом деле, они должны храниться отдельно и на самом деле недостаточно связаны друг с другом, чтобы их можно было поместить в общий исходный репозиторий, но не настолько значительны, чтобы гарантировать создание отдельного репозитория RCS для каждого из них.
Знаете ли вы о каком-либо программном обеспечении или методах, которые подходят для управления большим количеством этих скриптов? В идеале это обеспечило бы следующие функции:
Если для этого нет стандартного программного обеспечения или стандартной практики, я думаю, что все сводится к созданию чего-то простого.
Я прошу не согласиться с вашей точкой зрения, что сценарии недостаточно важны для контроля версий. Они часто очень важны (например, сценарии входа в систему, отображающие сетевые диски) и, как вы говорите, также часто просто живут на сервере без какой-либо истории версий, поэтому, если вы испортили это, вы облажались.
Мы храним все наши скрипты в репозитории Subversion, и это нам очень подходит. Преимущества довольно очевидны.
Системы контроля версий довольно легкие, и вы можете либо объединить другую систему (если у вас есть собственные разработчики, создайте репозиторий на их сервере), либо создайте виртуальную машину с облегченным дистрибутивом Linux, если вам нужно.
Кстати, недавно в блоге о сбоях сервера было сообщение об этом. Проверить это.
В подобных ситуациях в прошлом я создавал один репозиторий в $scm_of_choice
, с подкаталогами для каждой связанной группы (admin_scripts
, sql_scripts
, и т.д).
В качестве альтернативы, в зависимости от того, сколько скриптов вы говорите, вы можете создать по одному репозиторию для каждой проблемной области.
так как вы хотите отслеживать версию, естественно использовать систему контроля версий - их несколько - svn, git и т. д.
для доступа в Интернет вам может потребоваться установить дополнительное программное обеспечение, но это можно сделать очень легко. (для svn вы можете установить сервер с поддержкой ssl, git использует ssh)