프로젝트 ENT 설정 시간을 줄이는 방법은 무엇입니까?
-
03-07-2019 - |
문제
우리 프로젝트에서 우리는 많은 응용 프로그램 로그를 작성합니다 (때로는 매우 유용합니다) tmp
폴더.
이 폴더에는 다음과 같은 구성 요소 디렉토리가 있습니다.
- API
- 이메일 2SMS
- Scheduled_sending
- 청구
- 요약하면 10 폴더 미만.
문제 :새로운 구성 요소의 폴더는 시간이 지남에 따라 발생합니다.이 폴더 각각은 쓸 수 있어야합니다.
따라서 모든 개발자가 지역 환경 에서이 폴더 각각을 CHMod하는 데 시간이 걸리므로 프로덕션에서 해당 폴더를 CHMod하는 데 시간이 걸립니다.
이 문제는 어떻게 해결할 수 있습니까?이 프로세스는 어떻게 자동화 할 수 있는가 (Apache Ant Task, SVN 속성, 응용 프로그램의 스크립트 - 작업을 담당 해야하는 경우)?
환경:개발 환경 - 우분투, 창; 생산 - freebsd
해결책
내가 일하는 대부분의 회사에서 내가 사용한 빠른 방법은 다음과 같습니다.
- 모든 개발자가 파일의 단일 소스를 갖도록 모든 코드를 버전 작성 시스템 (SVN 등)에 넣으십시오. 당신은 분명히 이미 이것을하고 있습니다. 만세!
- 해당 코드의 루트에 이름이 지정된 파일
setup_permissions.sh
모든 지역 환경을 업데이트합니다. 여기에는 권한 또는 실행해야 할 것이 포함될 수 있습니다. - 매일 아침 모든 프로그래머는합니다
svn update
, 파일을 업데이트하고setup_permissions.sh
. - 그들은 코드를 실행하려고합니다. 문제를보십시오. 그들은 달린다
setup_permissions.sh
. - 모두가 세상에 잘 있습니다!
의 내용은 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로 충분해야합니다.