::: IT인터넷 :::

exe 파일 Nexus에 배포하기

정보보안썰문가 곰탱이푸우 2021. 7. 28. 08:20
반응형

Visual Studio에서 빌드를 하면 EXE 또는 DLL 파일이 생성된다.

EXE 파일의 경우 바로 사용 가능하기 때문에 배포해야 하는데 방법은 여러가지가 있다.

  • FTP 서버를 사용한다.
  • 웹서버를 사용한다.
  • 사설 저장소를 사용한다.

 

이미 Nexus를 구축하고 PyPi, Docker, APT, Conda 사설 저장소로 사용하고 있으므로, 생성한 EXE 파일도 Nexus로 배포하기로 했다.

 

생성하는 방법은 다른 저장소 생성 방법과 거의 동일하다. 저장소 타입이 Raw인 것만 다르다.

 

PyPi 저장소 생성 방법은 다음 포스팅을 참고한다.

 

Nexus3를 이용한 PyPi 사설 저장소 구축

Nexus3를 이용한 PyPi 사설 저장소 구축은 3개의 저장소가 필요하다. hosted (Local) - 내부에서 작성한 Python 패키지인 Wheel (Whl) 파일을 배포한다. proxy (Remote) - 외부의 PyPi 저장소의 패키지를 저장하고..

www.bearpooh.com

 

 

Blob Store 생성

먼저 파일이 저장 될 Blob Store를 생성한다.

  • 관리자 페이지에서 Blob Stores를 선택한다.
  • Type은 File로 지정한다.
  • Name은 사용할 Blob Store 이름을 지정한다. exe-repos로 지정했다.

 

Repositories 생성

배포 된 산출물을 관리할 Repository를 생성한다.

관리자 페이지의 Repositories를 클릭하고 raw (hosted)를 선택한다.

 

생성할 Repository에 대한 정보를 입력한다.

  • Name은 Blob Store의 이름과 동일하게 exe-repos로 지정했다.
  • Blob Store는 생성한 exe-repos를 지정했다.
  • Create Repository를 누르면 생성이 완료된다.

 

 

생성 된 Repository 확인

Repository의 Repositories를 클릭하면 exe-repos가 생성 된 것을 확인할 수 있다.

 

exe-repos를 클릭하면 상세 정보를 확인할 수 있다. URL에 표시 된 repository 주소가 실제 배포에 사용된다.

 

exe 파일 배포하기

curl 명령을 사용하여 배포할 파일을 업로드한다.

  • Nexus의 사용자 계정과 비밀번호를 입력해야 하므로 계정 정보 관리에 신경 써야 한다.
  • 업로드 대상 경로에 프로젝트 이름과 버전을 지정하면 Group으로 지정된다. (MD5Viewer/1.0.13.0)
$ curl -v --user 'Nexus아이디:Nexus비밀번호' --upload-file ./MD5Viewer.exe https://Nexus주소:Nexus포트/repository/exe-repos/MD5Viewer/1.0.13.0/MD5Viewer.exe

 

 

배포 결과 확인

Nexus의 Raw Repository를 확인해보면 업로드 된 것을 확인할 수 있다.

 

해당 파일을 클릭하면 상세 정보가 확인된다.

 

파일명을 클릭해보면 업로드 된 파일의 상세 정보가 출력된다.

 

 

배포한 파일 다운로드

상세 페이지에서 직접 다운로드 하거나, 업로드 한 URL을 사용한 다운로드도 가능하다.

  • 상세 페이지에서 해당 파일을 클릭한다.
  • wget이나 curl을 사용하여 업로드 한 주소에 접근하여 다운로드 할 수 있다.

 

아래 공식 문서를 참고하였다.

 

Raw Repositories

No content is modified when proxied. This means that e.g., any absolute URL used with HTML document remain absolute and therefore bypass the proxying mechanism.

help.sonatype.com

 

반응형