GitLab CE에서 사용할 수 있게 된 패키지 레지스트리에 Maven 패키지를 등록해 본다

6114 단어 MavenGitLab
매번 구구도 나오지 않는 작은 재료를 취급하고 있습니다.
본 기사는 개인적인 견해이며, 필자가 소속하는 어떠한 단체에도 관계가 없습니다.

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. 필요한 파일



다음 세 가지 파일을 수정해야 합니다.
  • .gitlab-ci.yml 파일 수정
  • Maven CI 용 구성 파일 (ci_settings.xml)
  • pom.xml 파일 수정

  • 각각 내용을 살펴 보겠습니다.

    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로 저장하는 것도 좋지만, 만료되면 삭제되어 버리거나 위치를 알기 어렵기 때문에 레지스트리에 저장하는 것이 좋습니다.

    좋은 웹페이지 즐겨찾기