GitLab CE에서 사용할 수 있게 된 패키지 레지스트리에 Maven 패키지를 등록해 본다
본 기사는 개인적인 견해이며, 필자가 소속하는 어떠한 단체에도 관계가 없습니다.
0. 소개
올해 5월에 지금까지 GitLab에서 유료판이었던 기능을 무료판(CE:Community Edition)에서도 사용할 수 있도록 하겠다는 공지가 되었습니다.
18 GitLab features are moving to open source | GitLab
htps // 아보 t. 기 t b. 이 m/bぉg/2020/03/30/네
그 중, 각종 패키지를 넣는 리포지토리도 무료가 된다고 하는 것이었습니다.

Maven (Java) repository는, 사내에서도 취급이 많기 때문에 손잡이 당겨 기다리고 있었습니다.
그것의 검증 기사가됩니다.
1. 문서
기본적으로 다음 페이지에 적혀 있습니다.
Maven packages in the Package Repository | GitLab
htps : // / cs. 기 t b. 이 m / 네 / 우세 r / Pac 가게 s / まぇぇん_ 레포시와 ry / 가서 x. html # c 어서 - ゔ ぇ ゜ ㄱ
이쪽의 일본어 사이트도 그중 번역되는 것이 아닐까요.
GitLab Maven Repository | GitLab
h tps : // 기 t ぁ b도 cs. ㄴㅎㅎㅎ 코 m / 네 / 우세 r / Pac 가게 s / MAHEN _ Reposhi와 ry /
이번에 하고 싶었던 것은 CI/CD에서의 조작이므로, 이하를 참조했습니다.
Maven packages in the Package Repository | GitLab
htps : // / cs. 기 t b. 이 m / 네 / 우세 r / Pac 가게 s / まぇぇん_ 레포시와 ry / 가서 x. html # c 어서 - ゔ ぇ ゜ ㄱ
2. 필요한 파일
다음 세 가지 파일을 수정해야 합니다.
기본적으로 다음 페이지에 적혀 있습니다.
Maven packages in the Package Repository | GitLab
htps : // / cs. 기 t b. 이 m / 네 / 우세 r / Pac 가게 s / まぇぇん_ 레포시와 ry / 가서 x. html # c 어서 - ゔ ぇ ゜ ㄱ
이쪽의 일본어 사이트도 그중 번역되는 것이 아닐까요.
GitLab Maven Repository | GitLab
h tps : // 기 t ぁ b도 cs. ㄴㅎㅎㅎ 코 m / 네 / 우세 r / Pac 가게 s / MAHEN _ Reposhi와 ry /
이번에 하고 싶었던 것은 CI/CD에서의 조작이므로, 이하를 참조했습니다.
Maven packages in the Package Repository | GitLab
htps : // / cs. 기 t b. 이 m / 네 / 우세 r / Pac 가게 s / まぇぇん_ 레포시와 ry / 가서 x. html # c 어서 - ゔ ぇ ゜ ㄱ
2. 필요한 파일
다음 세 가지 파일을 수정해야 합니다.
각각 내용을 살펴 보겠습니다.
2-1. .gitlab-ci.yml 파일 수정
mvn deploy 명령을 추가하여
ci_settings.xml
를 참조하도록 변경합니다.이미지를 원하는대로 변경하십시오.
.gitlab-ci.yml
deploy:
image: maven:3.6-jdk-11
script:
- 'mvn deploy -s ci_settings.xml'
only:
- master
2-2. Maven의 CI용 구성 파일(ci_settings.xml)
ci_settings.xml을 다음 내용으로 만듭니다.
ci_settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
<servers>
<server>
<id>gitlab-maven</id>
<configuration>
<httpHeaders>
<property>
<name>Job-Token</name>
<value>${env.CI_JOB_TOKEN}</value>
</property>
</httpHeaders>
</configuration>
</server>
</servers>
</settings>
2-3. pom.xml 파일 수정
pom.xml에 다음 항목을 추가합니다.
pom.xml
<repositories>
<repository>
<id>gitlab-maven</id>
<url>${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>gitlab-maven</id>
<url>${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>
</repository>
<snapshotRepository>
<id>gitlab-maven</id>
<url>${env.CI_SERVER_URL}/api/v4/projects/${env.CI_PROJECT_ID}/packages/maven</url>
</snapshotRepository>
</distributionManagement>
3. 각 파일의 상관 관계 다이어그램
그림 해 보았습니다.

4. 실행 확인
이런 느낌에 들어갈 것.

5. 정리
GitLab CI/CD에서만 영향을 주는 부분을 ci_settings.xml로 내보내는 것이 포인트일까요?
Artifacts로 저장하는 것도 좋지만, 만료되면 삭제되어 버리거나 위치를 알기 어렵기 때문에 레지스트리에 저장하는 것이 좋습니다.
Reference
이 문제에 관하여(GitLab CE에서 사용할 수 있게 된 패키지 레지스트리에 Maven 패키지를 등록해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/c461c67498fd7fc8da4e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이런 느낌에 들어갈 것.

5. 정리
GitLab CI/CD에서만 영향을 주는 부분을 ci_settings.xml로 내보내는 것이 포인트일까요?
Artifacts로 저장하는 것도 좋지만, 만료되면 삭제되어 버리거나 위치를 알기 어렵기 때문에 레지스트리에 저장하는 것이 좋습니다.
Reference
이 문제에 관하여(GitLab CE에서 사용할 수 있게 된 패키지 레지스트리에 Maven 패키지를 등록해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ynott/items/c461c67498fd7fc8da4e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(GitLab CE에서 사용할 수 있게 된 패키지 레지스트리에 Maven 패키지를 등록해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ynott/items/c461c67498fd7fc8da4e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)