2017-10-26 5 views
2

우리 기관에서 로컬 메이븐 저장소 서버를 설정하려고합니다. 우리는 완전히 독립적 인 여러 팀을 가지고 있으므로 서로의 글을 쓸 수 없도록해야합니다.독립적 인 팀을위한 Maven 저장소 서버

이상적으로 우리는 유사한 허가 개념을 원합니다. Gitlab에서는 모든 사용자가 프로젝트 (또는이 경우 저장소)를 만들고 권한을 부여 할 수 있지만 다른 저장소에 대한 쓰기 권한은 없습니다.

Artifactory와 Nexus를 사용해 보았습니다.하지만 알 수있는 한 특정 프로젝트의 그룹에 권한을 부여하는 것은 전체 관리자 권한을 가진 사용자, 즉 해당 저장소를 만드는 수동 작업을 포함합니다.

자유롭게 사용할 수있는 Maven 저장소 서버가있어 다른 저장소에 액세스하지 않고도 사용자가 저장소를 만들고 관리 할 수 ​​있습니까? 그렇지 않은 경우 처음으로 배포 한 사람에게 이슈에 대한 쓰기 액세스를 제한 할 수 있습니까?

Artifactory 또는 Nexus가 실제로 이와 유사한 작업을 수행 할 수 있다면 더 좋을 것입니다.

+2

관리자 계정을 사용하는 경우입니다. CI 서버 만 저장소 저장소에 아티팩트를 저장할 수있는 권한이 있어야합니다. 또한 artifacts는 groupId/artifactId/version으로 구분됩니다. 그래서 실제 문제가 보이지 않습니다. 그렇습니다. 그런 복잡한 설정을 통해 Nexus 2와 Nexus 3의 groupId에 대한 사용 권한을 분리 할 수는 있지만, 당신이 얻을 수있는 이점과 관계가있는 행정 업무의 양을 기준으로 추천하지 않습니다 ... 실제 문제가 무엇인지 설명해 주시겠습니까? – khmarbaise

+0

@khmarbaise 나는 이것이 회사에서 일반적인 설치라고 이해하지만, 우리는 대학 기관이며, 다른 그룹은 같은 회사의 팀보다 독립적입니다. 또한 변화하는 학생과 함께하는 소규모 프로젝트가 많기 때문에 CI 게시만으로 우리의 허가 문제를 CI 서버로 옮길 수 있습니다. 하지만 적어도 하나의 중앙 위치 대신 각 그룹이 권한을 관리 할 수 ​​있으므로 고려해 볼 수 있습니다. – crater2150

+1

스크립트를 사용하여 권한을 설정하거나 다른 저장소에서 Nexus 3을 사용하는 것이 좋습니다 (예 : http : //blog.soebes).de/blog/2017/10/02/nexus-scripted-setup/ – khmarbaise

답변

0

하나의 Nexus 2.x (전문) 서버에서 임의의 수의 리포지토리를 만들 수 있습니다. 그런 다음 다른 쓰기 권한을 가진 다른 사용자 계정을 설정할 수 있습니다 (예 : projectA 저장소를 만들고이 특정 저장소에 대해서만 쓰기 권한이있는 projectAuser을 정의 할 수 있습니다.

Artifactory 및 Nexus 3에서도 가능하지만 경험이 없습니다. 당신이 많은 옵션이 Artifactory에서

0

, 난 당신을 추천 :

  • 사용자 그룹에 대한 권한을 가진 가상 받는다는 저장소를 만듭니다.
  • 이 가상 저장소로이 사용자 그룹의 settings.xml을 구성하십시오.
  • Github 또는 다른 웹 사이트에 액세스 할 수있는 원격 저장소를 만듭니다.
  • 가상 저장소에 이러한 원격 리포지토리를 추가하십시오.
  • 가상 저장소가 필요하고 추가하는 경우 로컬 저장소를 만듭니다.

원하는 모든 사용자 그룹에서이 작업을 수행하면 독립적 인 이슈 및 리포지토리가 생깁니다.

+0

별도의 그룹을 관리자로 수동으로 만들 수 있음을 이해합니다. "모든 사람이 새로운 그룹 ID를 만들 수 있지만 다른 사람이 먼저 만든 그룹에 게시 할 수는 없습니다"라고 생각했지만 maven.org의 중앙 저장소에서도 관리자가 새 그룹 ID를 만들 것을 요구하는 것으로 보입니다. 유일한 길인 것처럼 보인다. – crater2150