Как сократить время настройки проекта? - PullRequest
1 голос
/ 03 мая 2009

В нашем проекте мы записываем множество журналов приложений (иногда они очень полезны) в папку tmp .

В этой папке у нас есть каталоги компонентов, такие как:

  • апи
  • email2sms
  • scheduled_sending
  • биллинг
  • и т.д.. Всего менее 10 папок.

Проблема: папка нового компонента возникает со временем - каждая из этих папок должна быть доступна для записи.

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

Как решить эту проблему? Как автоматизировать этот процесс (задача Apache Ant, свойства SVN, скрипт приложения - который должен отвечать за задачу)?

Окружающая среда: Среды разработки - Ubuntu, Windows; производство - FreeBSD

Ответы [ 3 ]

3 голосов
/ 07 мая 2009

Быстрый и грязный метод, который я использовал в большинстве компаний, в которых я работаю, был примерно таким:

  1. Поместите весь код в систему управления версиями (например, SVN или что-то в этом роде), чтобы все разработчики имели единый источник файлов. Вы, очевидно, уже делаете это. Ура!
  2. Поместите в корень этого кода файл с именем setup_permissions.sh, который обновляет все содержимое локальной среды. Это может включать разрешения или все, что вам нужно для запуска.
  3. Каждое утро все программисты делают svn update, который обновляет файлы, а также setup_permissions.sh.
  4. Они пытаются запустить свой код. Вижу проблему. Они бегут setup_permissions.sh.
  5. В мире все хорошо!

Что касается содержимого setup_permissions.sh, это может быть что-то вроде:

#/bin/sh
TMP=/tmp

mkdir $TMP/api
mkdir $TMP/email2sms
mkdir $TMP/scheduled_sending
mkdir $TMP/billing
chmod 777 -r $TMP/api $TMP/email2sms $TMP/scheduled_sending $TMP/billing

И добавьте больше команд, которые вам нужны.
(О, и не используйте chmod 777 ... это ужасная идея. Просто посмотрите на это в качестве примера.)

Ключом к этому подходу является дисциплина . Вы должны доверять своим программистам иметь дисциплину для запуска setup_permissions.sh, когда они обновляют свою локальную среду. То же самое касается тех, кто обновляет производственную систему.

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

1 голос
/ 03 мая 2009

тот (программа / компонент), который создает журнал, должен нести ответственность за то, чтобы сделать файлы журналов доступными для записи всем - чтобы использовать mod = 777 (каждый доступный для записи) при создании журналов.

если вы развертываете процесс, в котором есть сценарий установки, также сделайте это в сценарии.

0 голосов
/ 06 мая 2009

mkdir и chmod в простом сценарии оболочки должны быть достаточными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...