1. Nexus Maven Repository를 이용하여 Build
Project의 POM 파일(
pom.xml
)에 Repository 정보 추가<repositories> <repository> <id>sw-central</id> <name>Central Repository</name> <url>{Nexus Server Repository Address}</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories>Project의 POM 파일(
pom.xml
)에 Plugin Repository 정보 추가<pluginRepositories> <pluginRepository> <id>sw-central</id> <name>Central Repository</name> <url>{Nexus Server Repository Address}</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </pluginRepository> </pluginRepositories>설정 완료한 Maven Project Build
IDE 도구에서 프로젝트를 빌드하거나, VSCode Terminal에서 다음과 같이 실행합니다.mvn clean package만약
Dependency Library들을 하나의 폴더에 모으고 싶다면
다음과 같이 maven 명령을 실행합니다.mvn clean dependency:copy-dependencies package
2. Nexus Maven Repository에 Library 배포
프로젝트 내 다른 개발자의 라이브러리를 참조해야 하거나, 내가 개발한 라이브러리를 다른 개발자들이 참조하여 개발해야 하는 경우가 발생할 수 있습니다.
그런 경우에도, Nexus Repository를 활용하여 라이브러리를 배포할 수 있습니다.
하지만, Nexus Maven Repository에 로컬에서 빌드한 Library를 배포하는 경우에는 다음 사항에 유의해야 합니다.
release
와snapshot
을 구분해야 합니다.
release
: 정식 배포용. 동일한 버전에 대해 재배포 불가snapshot
: 개발 및 테스트용. 동일 버전 재배포 가능pom.xml
파일 내 [version
] 태그의 버전 명에 "SNAPSHOT"이 있으면 snapshot repository로 배포합니다.
Nexus Maven 접근을 위해서 User ID/Password 설정
Nexus 서버 관리자에게 Nexus 서버에 접근할 수 있는 계정 생성을 신청합니다.
그 후, 로컬 Maven 저장소로 이동하여settings.xml
파일을 생성합니다.
로컬 Maven 저장소는 Terminal에서 다음과 같이 찾을 수 있습니다.cd ~/.m2 pwdTerminal에서 직접
settings.xml
을 생성할 수도 있습니다.New-Item -Path C:\Users\USER\.m2\settings.xml -ItemType file -Value "<settings></settings>"windows 10 powershell
기준입니다.생성된
settings.xml
파일에 생성된 Nexus 서버 계정을 다음과 같이 추가합니다.<settings> <servers> <server> <id>sw-central</id> <username>{username}</username> <password>{password}</password> </server> </servers> </settings>settings.xml
파일 내 server id는 Project 내pom.xml
파일의 Repository id와 동일해야 합니다.로컬 개발 PC 환경 설정
로컬 개발 PC에서 외부 https를 호출할 경우, 오류가 발생할 수 있습니다. (개발 망 이슈)
따라서, 이런 경우 Default로 설정되어 있는 Public Maven Central 환경을 disable시켜야 합니다.
프로젝트의 POM 파일(
pom.xml
)에 다음 내용을 추가합니다.<repositories> <repository> <id>central</id> <name>Central Repository</name> <url>https://repo.maven.apache.org/maven2/</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>false</enabled> </releases> </repository> </repositories>Project의 POM 파일(
pom.xml
)에 Distribution Management Repository 정보 추가<distributionManagement> <repository> <id>sw-central</id> <name>release repository</name> <url>{Nexus Server Release Repository Address}</url> </repository> <snapshotRepository> <id>sw-central</id> <name>snapshot repository</name> <url>{Nexus Server Snapshot Repository Address}</url> </snapshotRepository> </distributionManagement>Maven Build를 통해서 배포
다음과 같이 Nexus 서버에 Library를 배포합니다.mvn deploy
3. Local Repository(로컬 파일 시스템 내에 있는 라이브러리) 추가
로컬에 있는 라이브러리들이 있는 폴더, 즉 Local Repository는 다음과 같이 POM 파일(pom.xml
)에 추가할 수 있습니다.
<repositories>
<repository>
<id>local-com</id>
<url>file://${basedir}/src/main/resources/lib/</url>
</repository>
</repositories>
Git Client Install on Local PC
1. Git Client 다운로드
로컬 개발자 PC OS에 맞는 git client를 다운로드 합니다.
ex) Windows Git Client Download : https://git-scm.com/downloads/win
2. Git Client 설치
다운로드한 Git Client를 설치합니다.
(Windows 10 64bit 기준)
- 다운로드받은 Git-2.22.0-64-bit.exe 설치 (Next 버튼만 클릭!)
- 설치 완료 후, Powershell에서 확인git --version > result : git version 2.22.0.windows.1
3. Git 최초 설정
Git 설치 이후, 설치된 Git에 최초 설정을 진행합니다.
최초 한번만 설정해 주면 됩니다.
- 로컬 사용자 정보 설정git config --global user.name "username" git config --global user.email useremail
user.name과 user.email은 gitlab 서버에 로그인 할 때 사용하는 username과 email 주소입니다.
- Git 설정 정보 확인git config --list # 전체 설정 정보 확인 git config user.name # 사용자 이름 정보 확인 git config user.email # 사용자 이메일 정보 확인
- Git Command 도움말 확인git config -h # config에 대한 도움말을 Terminal에서 확인 git help config # config에 대한 도움말을 웹페이지로 확인
4. 로컬 Git 저장소 설정
로컬에 Git 저장소를 설정하는 방법은 2가지가 있습니다.
- 아직 버전관리를 하지 않는 로컬 디렉토리 하나를 선택해서 Git 저장소 적용 (ex. 프로젝트 폴더)
- 원격 서버에서 Git 저장소를 Clone
로컬 디렉토리 하나를 선택하는 방법은 다음과 같습니다.
mkdir project_root # Project 폴더 생성
cd project_root # Project 폴더로 이동
git init # git 초기화
원격 서버에서 Git 저장소를 다음과 같이 Clone할 수 있습니다. (복제)
git clone git@10.217.66.21:{username}/{project}.git # 내부 개발자 PC에서 Clone
git clone http://211.252.123.38/{username}/{project}.git # 외부 개발자 PC에서 Clone
Project Clone을 위한 주소는 Gitlab 서버에서 Project를 클릭했을 경우, 오른쪽 상단에 [Clone] 메뉴가 있습니다.
로컬 Git 사용
로컬에 설정되어 있는 저장소에 새로운 파일을 추가하거나 기존 파일을 수정할 수 있습니다.
Visual Studio Code에서 왼쪽 상단 메뉴인 File > Open Folder 메뉴를 선택하여 위에서 생성한 project_root 폴더를 선택합니다.
File > New File 메뉴를 선택하여 새로운 파일을 생성합니다.
파일에 간단한 java 코드를 작성하고, sample.java로 저장합니다.
Visual Studio Code의 상단 오른쪽 두번째 메뉴인 Terminal > New Terminal을 선택합니다.
4번의 결과로 하단에 Windows Powershell Terminal이 생성됩니다.
Powershell Terminal에서 로컬 Git 저장소에 추가할 파일을 조회합니다.
git status # git 저장소에 추가해야할 파일 목록 조회(untracked files). 여기서는 위에서 저장한 sample.java 파일 git add ./sample.java # git 저장소에 반영되기 전, Staged 단계로 sample.java 추가 git commit -m "Sample Java Source Code Commit" # -m 옵션은 Commit 메시지 추가하는 옵션새롭게 작성한 소스 코드를 위와 같은 방법으로 계속해서 추가합니다.
commit한 히스토리를 조회할 수 있습니다.
git log # commit한 사용자 이력 조회 git log --stat # 각 commit의 통계 정보 조회과거로 되돌리고 싶을 때 (undo) 다음과 같이 되돌릴 수 있습니다.
git commit --amend한 번 되돌리면 복구가 안 되므로, 신중해야 합니다.
원격 Git 서버 사용
소스 코드를 신규로 작성하거나 수정하여 로컬 Git 저장소에 Commit을 완료한 후, 원격 Gitlab 서버에 반영해야 합니다. 원격 Gitlab 서버는 다음과 같은 순서로 사용할 수 있습니다.
원격 저장소 확인
원격 저장소를 Clone하면 'origin'이라는 이름으로 원격 저장소가 자동 등록됩니다.git remote # 현재 프로젝트에 등록된 원격 저장소 : origin원격 저장소 주소를 함께 확인하고 싶을 경우, -v 옵션으로 조회합니다.
git remote -v > result origin http://211.252.123.38/{username}/{project}.git (fetch) origin http://211.252.123.38/{username}/{project}.git (push)원격 저장소 추가
다음과 같이 원격 저장소를 신규로 추가하거나 삭제할 수 있습니다.git remote add {remote name} {address} # name : 원격 저장소를 나타내는 이름, address : 원격 저장소 주소 git remote add other git@10.217.66.21:{username}/{project} git remote -v git remote remove {remote name} # 원격 저장소를 삭제하는 경우원격 저장소 사용
원격 저장소를 사용하는 git command는 다음과 같습니다.git fetch {remote name} # 마지막으로 가져온 이후, 변경된 소스코드 가져오는 경우 git pull {remote name} # 원격 저장소에서 모두 가져오고, 현재의 로컬 소스와 Merge시킴 git push {remote name} {branch name} # 수정된 소스 코드를 원격 저장소에 반영 > ex) git push origin master
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/857