IT/DevOps

[DevOps] Nexus 실행 및 연동 (feat. eGovCI)

어흥꼬비 2024. 5. 8.

전자정부프레임워크의 서버용 개발환경에 들어 있는 Nexus를 설치 및 연동 과정을 기록한다.

 

[DevOps] CentOS 8 Jenkins CI, CD 환경 구축(feat. eGovCI)

목차이번엔 전자정부프레임워크의 서버용 개발환경을 이용해서 CI, CD를 구축했다.다음엔 저번에 설치한 GitLab과 새로 설치한 Jenkins로 처음부터 연동하는 것도 포스팅 예정이다. [DevOps] CentOS 8 Jen

yaga.tistory.com


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>

개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다.

틀린 점 있을 경우 댓글 부탁드립니다.

 

[DevOps] CentOS 8 Jenkins CI, CD 환경 구축(feat. eGovCI)

목차이번엔 전자정부프레임워크의 서버용 개발환경을 이용해서 CI, CD를 구축했다.다음엔 저번에 설치한 GitLab과 새로 설치한 Jenkins로 처음부터 연동하는 것도 포스팅 예정이다. [DevOps] CentOS 8 Jen

yaga.tistory.com

 

[DevOps] CentOS 8 GitLab 설치

목차GitLab 설치과정#GitLab의 CentOS용 RPM 저장소 설치하기 위한 스크립트 다운로드 및 실행curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash#gitlab 커뮤니티버전 설치sudo yum

yaga.tistory.com

 

[DevOps] CentOS 8 JenKins 설치(feat. CI, CD)

목차JenKins 설치과정내 경우는 jdk가 이미 설치되어 있었기에 그 부분은 생략했다.#공개키 가져온다.rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key#저장소 파일 설치sudo wget -O /etc/yum.repos.d/je

yaga.tistory.com

 

[DevOps] CentOS7 설치부터 jdk, mysql, tomcat 연동까지 과정

목차CentOS7 설치부터 jdk, mysql, tomcat 설치 및 간단한 연동과정을 간략히 포스팅한다.CentOS 미러 사이트에서 isov파일 다운로드한다.(여기선 GUI환경으로 설치하기 위해 DVD 선택)CentOS7 설치리눅스 부

yaga.tistory.com

 

[linux] linux jboss eap 7.4 install, setting/ deploy

목차 리눅스에 jboss를 설치해서 웹 애플리케이션 배포한 경험을 기록한다. 설치환경: redhat 8.8 64 bit 설치경로: /home/계정/app 하위 설치모드: standalone jboss는 standalone, domain 모드가 있는데 standalone모

yaga.tistory.com

 

'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

댓글