2012-02-27 1 views
0

이 시나리오를 고려하십시오. 작은 엔터프라이즈 프로젝트 개발 환경이 있습니다. Archiva를 인공물 저장소로 사용합니다.Maven 프로파일 혼동; 내부 repo에 대한 사용자 기반 인증에 대한 혼동

일반적으로 프로젝트마다 다르므로 프로젝트 관련 프로필을 설정하고 싶습니다.

그러나 내가 항상 상상해보고 싶은 한 가지는 기본적으로 활성화되어있는 내 settings.xml 파일의 프로필입니다. 팀 구성원이 수동으로 해당 파일을 편집하여 ARCHIVA 자격 증명을 여기에 배치해야합니까 (LDAP 시스템). 그러면 내부 리포에 액세스 할 수 있습니까?

비밀번호를 입력하지 않으면 안됩니까? 나의 다른 대안은 "공유"암호를 암호화하기 위해 마스터 암호를 사용하는 것이므로 누구도이 암호를 볼 수 없지만 스냅 숏 종속성 및 물건에 대한 내부 repo에 대한 일반적인 "읽기 전용"액세스 권한은 모두 갖게됩니다. 그러나 암호화 된 마스터 비밀번호가 포함 된 security-settings.xml 파일이 필요하며 해당 시스템의 목적을 상쇄하지 못합니까?

마지막으로 : 여러 프로필을 동시에 활성화 할 수 있습니까, 아니면 불필요합니까? 예를 들어 기본적으로 devut 프로필 (이슈 레포 설정, 릴리스 용 암호화 된 svn 자격 증명 포함)을 활성화 한 다음 특정 POM 파일에서 다른 프로필을 지정하면 하나의 프로필 만 선택합니까? CI 용 Bamboo를 사용하고, 확실한 플러그인과 기타 등을 사용하는 "테스트"프로파일이 있다고 가정 해 봅시다. 이 프로파일은 settings.xml에있는 activeByDefault DEV 프로파일과 공존합니까? 아니면 한 번에 하나의 프로파일 만 활성화 할 수 있습니까? 모든 CI 요구 사항은 SCM 정보이므로 기술적으로 내부 Archiva Repo에 액세스 할 필요가 없어야합니다. 따라서 테스트 프로파일 (CI를 사용하여 자동으로)을 사용하는 경우 프로필에서 아무 것도 필요하지 않습니다.

나는 혼란 스럽다. 필자는 완전히 maven으로 관리되는 환경을 구축하는 것에 가깝다. 고맙습니다.

답변

0

그러나, 나는이 일정하고 싶은 것은, 개발에 사용 기본적으로 활성화되어 내 Settings.XML이 파일의 프로파일은입니다. 팀 구성원이 직접 파일 을 편집하여 거기에 ARCHIVA 자격 증명을 배치해야 (LDAP 시스템), 내부 레포에 액세스 할 수 있습니까?

예, 사용자는이 파일을 사용자 기준으로 편집해야합니다. 문서에서 :

암호문과 암호 요소는 나중에 외부화 될 수 있지만 현재는 settings.xml 파일에서 일반 텍스트로 설정되어야합니다.

암호 만 입력하면됩니까? 다른 대안은 "공유"암호를 암호화하기 위해 암호를 사용하는 것입니다. 아무도 을 볼 수는 없지만 모두 내결함성을위한 내부 저장소에 대한 일반적인 "읽기 전용"액세스 권한을 가지고 있습니다. 그러나 도 암호화 된 마스터 비밀번호가 포함 된 security-settings.xml 파일이 필요하며 해당 시스템의 목적을 충족시키지 못합니까?

사용자에게 공개 키를 추가하고 그런 식으로 인증하는 것이 어떨까요?

<servers> 
    <server> 
     <id>server001</id> 
     <username>my_login</username> 
     <privateKey>${user.home}/.ssh/id_dsa</privateKey> 
     <passphrase>some_passphrase</passphrase> 
     ... 
    </server> 
    </servers> 

최종적 : 복수의 정보를 동시에 활성화하거나, 불필요한 이다 수 있는가?

예, 여러 프로필을 사용할 수 있습니다. mvn help : active-profiles을 사용하여 활성 프로파일을 나열 할 수 있습니다.

+0

감사합니다. 그 모든 것들로 인해 당황 스러웠지만 이제 마침내 마지막 비트를 설정해야 할 필요가 생겼습니다. CI는 몇 개월 동안 아니지만, 처음 시작할 때 환경이 "친숙한"것인지 확인하고 싶었습니다. 지금 당장은 svn, archiva, maven 등입니다. 다시 한번 감사드립니다. –

+0

"CI가 몇 개월 동안은 아니"란 무엇을 의미합니까? 그것은 당신이 설정 한 첫번째 것 중 하나 여야합니다;) ie를 사용합니다. Jenkins, 실제로는 현지 시간에 설정하는 것이 매우 쉽습니다. 어쨌든, 도와 줘서 고마워! – ebaxt

+0

현금을 가지고 있으면 곧 끝날 것입니다. 우리에게는 세 번째 상자가 필요하며 아직 DAO가 없기 때문에 테스트는 너무 잔인하지 않습니다. 다시 한 번 감사드립니다. –