송민준의 개발노트

Github으로 간단한 멀티모듈 구성하기(nexus 대신에...) 본문

웹/환경설정(setting)

Github으로 간단한 멀티모듈 구성하기(nexus 대신에...)

송민준 2023. 4. 8. 21:11

여러 프로젝트를 관리함에 따라 공통적으로 쓰이는 클래스들을 한번에 관리할 필요성이 느껴졌다.

 

nexus 솔루션이 대중적으로 많이 쓰인다고는 하나 개인적으로 사용하고 AWS 프리티어에서 사용하기엔 사양이 부족해서 좀 과하다 싶었다. 그래서 대안으로 github을 이용하는 방법을 찾아서 세팅을 해보았다!

방법은 아래와 같다.

 

1. 프로젝트를 생성한다. ( 여기선 maven )

2. 공통적으로 사용할 파일 생성

 

3. maven deploy 실행

- 로컬 파일 기반으로 생성하는 것이라 파일경로는 상대적이다.

local_maven_repo='C:\Users\dkask\IdeaProjects\camping-msa\common'

# Local Maven Repository의 snapshots 폴더로 deploy 실행
mvn -Dmaven.test.skip=true -DaltDeploymentRepository=snapshot-repo::default::file://${local_maven_repo}/snapshots clean deploy

- 실행 후 설정한 경로에 jar 파일들이 생성된다.

 

4. github 업로드

 

5. 사용할 프로젝트에서 가져오기

- repository id는 원하는 것으로 하면 된다.

 

6. reload 후 사용할 곳에서 import 해오면 된다.

 

 

참고

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=occidere&logNo=221285584339 

https://blog.naver.com/truehoop/110176959807

 

 

------------------------------------------ 2023.04.21 ----------------------------------------------------------------

보다 간단한 방법 적용

deploy 파일을 올리는 것 보다 아래 요소를 사용하면 바로 배포 가능

distributionManagement

 

1. maven 에 배포하고자 하는 원격 리포지토리 주소를 아래 요소에 기입

    <distributionManagement>
        <repository>
            <id>github</id>
            <name>GitHub</name>
            <url>https://maven.pkg.github.com/사용자명or조직명/리포지토리명</url>
        </repository>
    </distributionManagement>

 

2. .m2에 settings.xml에 인증정보 세팅

    <servers>
        <server>
            <id>github</id>
            <username>아이디</username>
            <password>토큰</password>
        </server>
    </servers>

 

3. 로컬에서 mvn deploy 실행하면 1. 에서 세팅한 url에 저장된다.

배포가 완료되면 본문 5. 에 있는 방식으로 import 하면 된다.