Windows에서 docker를 이용하여 gitlab 설치하기

docker의 좋은점이 웬만하면 docker run~~~ 하면 실행된다는건데…

gitlab은 windows에서 애매한 문제가 있다. 실행하려면 수동으로 조정을 해줘야한다.

우선, 전반적인 내용은 좋은 글들이 많으므로 참고하고…

https://devyurim.github.io/development%20environment/docker/2018/06/27/docker-1.html

https://psychoria.tistory.com/522

https://docs.gitlab.com/omnibus/docker/

다 좋은데, 위의 내용대로 하면 Windows에서는 에러가 발생한다.

그에 대한 처리방법이 아래 나와있다.

https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/2280#note_154400745

https://forgiveall.tistory.com/552

 

 

위의 내용을 바탕으로 docker-compose.yml 파일을 만들었다.

windows 10에서 수행하였고, docker 기본 설정인 메모리 2GB로 하면 하드디스크를 계속 긁어대서 서비스가 불가능한 수준이다. 메모리를 8GB로 할당해주고나서 (설치 직후 기준) 쾌적한 서비스가 가능한 것 같다.

nexus3 로 내부 레파지토리 구성하기(python,pypi)

개요

nexus라는 레파지토리 서버가있는데, 이를 이용하면 무료로 조직내에 레파지토리를 구성할 수 있다.

아래 링크에서 다운로드 할 수도 있지만…

https://www.sonatype.com/download-oss-sonatype

 

대세에 맞게, 또, 편하게 docker로 설치하기로 한다.

docker 이미지는 https://hub.docker.com/r/sonatype/nexus3 에서 확인할 수 있다.

 

또한, 인터넷에 관련 글들이 많으므로, 대부분 그 내용들을 참고로 할 것이고, 내게 필요한 일부 설정에 대해서만 적도록 하겠다.

https://kingbbode.tistory.com/37

https://velog.io/@king/private-docker-registry

https://www.lesstif.com/sonatype-nexus/nexus-3-1-33489418.html

 

설치 및 기동

d:\app\nexus3 밑에 docker-compose.yml 파일을 만든다.

d:\app\nexus3\nexus-data 아래 공유 볼륨을 만들어 놓았다.

처음으로 실행하면 이것저것 초기화 과정을 거친 뒤 서버가 기동된다.

웹브라우저를 통해 http://localhost:8081/ 로 접속하면 첫 페이지가 기동된다.

 

nexus3 repository 설정

로그인을 하려고 하면, id/pw를 물어보는데 팝업창의 설명에 보면  /nexus-data/admin.password 에 가면 패스워드가 있다고 한다. 해당파일에서 문자열을 복사하여 로긴한뒤 패스워드를 설정한다.

상단의 톱니바퀴 모양의 아이콘을 클릭하여 관리 화면에 들어가면, 좌측에 메뉴가있는데, 그중 repositories에 들어간다.

설치할때 기본적으로 maven 등등 기본적인 많은 패키지들이 설치되어 있다. 안쓸꺼니까 다 지운다.

그리고  create repository 를 클릭하여 새로운 레파지토리를 등록한다.  pypi(hosted) (파이썬 패키지를 직접 업로드하여 서비스하겠다.)를 클릭한다. 이름은 적절하게 ‘pypi-hosted’라고 적어주고,  Deployment Policy 에 ‘Allow redeploy’를 선택해준다. 중복으로 업로드하면 에러가 아니라 업데이트를 해주겠다는 뜻이다. 나머지는 기본으로 두고 ‘Create Repository’를 클릭해주면 끝이다.

 

pip 다운로드

패키지는 pip에 접속할 수 있는 별도의 서버에서 진행하든지 해야한다. https://pypi.org/simple/ 에 접속해서 패키지를 다운로드 할 수 있어야한다.

다운로드하고 싶은 패키지명을 requirements.txt 파일로 만들자. https://hugovk.github.io/top-pypi-packages/ 에서 1000개의 목록을 가지고 requirements.txt 파일을 만들었다.

다음 명령으로 패키지를 다운로드 한다.

 

요런식으로 다운로드 되어 있을 것이다.

 

패키지 업로드(nexus3 repository)

twine 패키지를 설치한다.  pip install twine

pip 설정해야 하는데, ~/.pypirc 파일설정을 하라고 하는데, windows에서는 pypirc 파일 설정이 적용이 잘 안되는 것 같다.(확실히 테스트한건 아니고 대충 해봤을때) 그냥 수동으로 해주자.

 

요렇게 하고나서, 다음과 같이 실행해주면 업로드가 된다.(중간에 ctrl+c로 중단함)

 

패키지 다운로드 해보기

커맨드라인에서 index-url을 입력해서 해도 되지만, 계속 쓸꺼니까 설정파일에 저장하자.

~/pip/pip.ini 파일에 아래와 같이 저장하고,

 

다음과 같이 실행하면, 로컬 repository에서 서비스가 가능하다.