문제

우리 프로젝트에서 우리는 많은 응용 프로그램 로그를 작성합니다 (때로는 매우 유용합니다) tmp 폴더.

이 폴더에는 다음과 같은 구성 요소 디렉토리가 있습니다.

  • API
  • 이메일 2SMS
  • Scheduled_sending
  • 청구
  • 요약하면 10 폴더 미만.

문제 :새로운 구성 요소의 폴더는 시간이 지남에 따라 발생합니다.이 폴더 각각은 쓸 수 있어야합니다.

따라서 모든 개발자가 지역 환경 에서이 폴더 각각을 CHMod하는 데 시간이 걸리므로 프로덕션에서 해당 폴더를 CHMod하는 데 시간이 걸립니다.

이 문제는 어떻게 해결할 수 있습니까?이 프로세스는 어떻게 자동화 할 수 있는가 (Apache Ant Task, SVN 속성, 응용 프로그램의 스크립트 - 작업을 담당 해야하는 경우)?

환경:개발 환경 - 우분투, 창; 생산 - freebsd

도움이 되었습니까?

해결책

내가 일하는 대부분의 회사에서 내가 사용한 빠른 방법은 다음과 같습니다.

  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 디렉토리 구조에 대한 변경 사항과 모든 권한 변경이 필요합니다. 컴퓨터에서 수동으로 변경을 수행하는 대신 그에 남겨 두는 대신 필요합니다. (그리고 디렉토리 구조를 변경하는 다른 모든 개발자들도 마찬가지입니다.)

다른 팁

로그를 생성하는 사람 (프로그램/구성 요소)은 로그 파일을 모든 사람에게 쓸 수 있도록해야합니다. 로그가 생성 될 때 mod = 777 (모든 사람은 쓰기 가능)을 사용하도록해야합니다.

배포 프로세스에 설치 스크립트가있는 경우 스크립트로도 수행하십시오.

간단한 쉘 스크립트의 mkdir와 chmod로 충분해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top