목차
전자정부프레임워크의 서버용 개발환경에 들어 있는 Nexus를 설치 및 연동 과정을 기록한다.
Nexus 실행 및 설정
eGovCI-4.2.0을 기준으로 작성되었다.
해당 버전의 Nexus OSS 버전은 2.15.1이라 jdk 1.8이 필수다.
해서 nexus 실행 시에는 따로 jdk 1.8로 돌려야 한다.
jdk 1.8 리눅스용을 해당 경로에 업로드 후 설정파일에서 설정한다.
vi ~/eGovCI-4.2.0/bin/nexus-2.15.1-02-bundle/nexus-2.15.1-02/bin/jsw/conf/wrapper.conf
Nexus의 포트가 WAS의 포트와 중복되지 않도록 포트도 변경한다.
vi ~/eGovCI-4.2.0/bin/nexus-2.15.1-02-bundle/nexus-2.15.1-02/conf/nexus.properties
Nexus를 백그라운드로 실행하기 위해 시작 쉘 스크립트를 살짝 수정한다.
vi ~/eGovCI-4.2.0/start-nexus.sh
eGovCI-4.2.0의 start-nexus.sh를 실행한다.
이 때 nexus와 연동된 jdk 버전이 1.8이 아닐 경우 에러가 발생한다.
브라우저에서 서버아이피:8082/nexus로 url 호출 시 화면이 표시되는지 확인 후 admin/admin123으로 로그인 후 비밀번호를 변경한다.
Views/Repositories를 선택한다.
3rd party > 아래 메뉴에서 Artifact Upload > GAV Parameters를 선택 후 Group, Artifact, Version입력 후 Packaging을 jar로 선택한다
Select Artifact(s) for Upload영역 > Select Artifact(s) to Upload 선택 후 업로드 할 jar파일을 선택 후 Upload Artifact(s)로 업로드 한다.
페이지 새로고침 또는 Repository 우클릭 > Update Index 선택 후 jar파일이 저장되었는지 확인한다.
서버에서도 해당 repository에 업로드 된 jar파일을 확인할 수 있다.
Nexus Repository 프로젝트에 적용
Nexus 저장소를 프로젝트에 적용하기 위해 pom.xml의 <repositories>부분을 아래처럼 수정한다.
Jenkins 빌드 시 다음과 같은 에러 발생 시 아래처럼 조치한다.
maven에서 보안상 외부 http 통신이 안되게끔 정책이 변경되었기에 Nexus 저장소의 http를 무력화 하기 위해 설정파일의 미러내용을 수정 후 재기동한다.
vi ~/eGovCI-4.2.0/bin/apache-maven-3.9.6/conf/settings.xml
maven 재기동 후 Jenkins 재빌드 시 Nexus 저장소에서 jar파일이 다운로드 됨을 확인한다.
로컬에서 빌드 시 비슷한 에러 발생 할 경우 local repository에 settings.xml 생성 후 재시도한다.
settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>maven-default-http-blocker</id>
<mirrorOf>external:dont-match-anything-mate:*</mirrorOf>
<name>Pseudo repository to mirror external repositories initially using HTTP.</name>
<url>http://0.0.0.0/</url>
</mirror>
</mirrors>
</settings>
개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.
틀린 점 있을 경우 댓글 부탁드립니다.
'IT > DevOps' 카테고리의 다른 글
[git] git revert (40) | 2024.06.06 |
---|---|
[git] git reset(feat. soft, mixed, hard) (36) | 2024.06.06 |
[DevOps] CentOS 8 Jenkins CI, CD 환경 구축(feat. eGovCI) (61) | 2024.05.03 |
[DevOps] CentOS 8 GitLab 설치 (35) | 2024.05.01 |
[DevOps] CentOS 8 JenKins 설치(feat. CI, CD) (37) | 2024.05.01 |