Pypi(Python Package Index) Python을 위한 공식적인 Third-party 소프트웨어 저장소이다. 

주로 Python 라이브러리를 설치하기 위해 pip 명령어를 사용하는데, 이는 Pypi 저장소(https://pypi.org)를 통해 해당 Package를 설치한다.

 

이번 포스팅은 이런 Pypi 서버를 Private 형태의 로컬 저장소용 설치 및 개발한 Python 코드를 Packaging하여 로컬 저장소에 업로드 및 다운로드 하는 방법을 설명한다.

 

 

1. Private Pypi 설치

  - pypiserverhttps://pypi.org/project/pypiserver

$ sudo apt-get install python3-pip

$ sudo pip3 install pypiserver

 

  - Package를 저장할 디렉토리 생성

$mkdir {Package Repository Directory}

  ex) $mkdir ~/packages

 

2. Private Pypi 서버 계정 관리를 위한 passlib 설치

$ sudo apt-get install apache2-utils

$ sudo pip3 install passlib

$ htpasswd -sc htpasswd.txt {ID}

  ex) htpasswd -sc htpasswd.txt programist

 
 
 

3. Private Pypi 서버 구동

$ pypi-server -p {PortNumber} -P htpasswd.txt {Package Repository Directory}

  ex) pypi-server -p 8080 -P htpasswd.txt ~/packages &

 

  - 브라우저를 통해 접속하면 다음과 같이 Pypi 서버가 정상적으로 동작하는 것을 확인할 수 있다.

 

 

 

 

4. Client 설정

  - 다음과 같은 형식으로 

$ vi ~/.pypirc

 

[distutils]

index-servers =

  local

 

[local]

repository: {Priavte Server URL}

username: {ID}

password: {Password]

 

  - 현재 구축 환경에서는 다음과 같다.

 

 

 

5. Python 코드 Packaging을 위한 setup.py 작성

  - Packaging을 하기 위해서는 setup.py 작성해야 한다.

  - 자세한 setup.py에 대한 자세한 작성 방법은 아래 링크를 참고하면 된다.

    (https://docs.python.org/3.5/distutils/setupscript.html)

 

 

 

6. Python 코드 Package 업로드

$ python3 setup.py bdist_wheel upload -r local

 

 

 

  - 업로드 확인은 다음과 같이 Private Pypi 서버에서 확인이 가능하다.

 

 

 

7. Private Pypi 서버에서 Package 다운로드 및 설치

$ pip3 install --extra-index-url {Private Server URL} --trusted-host {Private Server IP} {Python Package Name}

  ex) pip3 install --extra-index-url http://192.168.0.101:8080 --trusted-host 192.168.0.101 pypitest

 

 

 

  - 다음과 같이 테스트용 Package인 Pypitest Package가 설치되는 것을 확인할 수 있다.

이전에 포스팅한 GitLab 패키지 저장소 설치 환경을 기반으로 Git 명령어를 활용하여 프로젝트 생성 및 소스코드를 업로드 하는 방법을 설명한다.

 


1. git 설치 및 E-Mail, UserName 등록

$ sudo apt-get install git

$ git config --global user.email "programist@programist.com"
$ git config --global user.name "programist"



2. 업로드할 프로젝트 경로로 디렉토리 이동 및 git 초기화

$ cd TestProject

$ git init 

 

  - 명령을 수행하면 다음과 같은 메시지를 확인할 수 있다.

 

 

 

  - 또한 .git 디렉토리가 생성된 것을 확인할 수 있다.

 

 

 

3. remote 명령어로 로컬 저장소에 프로젝트 생성

$ git remote add origin http://{HostName}/{ID}/{ProjectName}.git

  ex) git remote add origin http://192.168.0.101/root/TestProject.git



4. status 명령어로 로컬 저장소의 소스 상태 확인

$ git status

 

 

 

5. add 명령어로 로컬 저장소에 반영될 소스 추가 및 status 명령어로 다시 상태 확인

$ git add *

$ git status

 

 

 

6. commit 명령어로 소스 코드 반영 및 변경 내용 설명 작성

$ git commit

  - 변경된 소스 코드의 설명을 위한 내용을 작성

 

 

 

  - commit이 완료되면 아래와 같은 메시지를 확인할 수 있다.

 

 

 

7. push 명령어로 GitLab에 소스 코드 저장

$ git push origin master

 

  - GitLab 사이트 로그인에 사용되는 ID와 비밀번호를 입력한다.

 

 

 

8. 반영된 프로젝트를 GitLab에서 확인

  - 다음과 같이 프로젝트가 생성된 것을 확인할 수 있다.

 

 

 

  - 프로젝트 내에는 다음과 같이 소스 코드와 작성된 코멘트가 반영된 것을 확인할 수 있다.


 

GitLab은 GitLab Inc.가 개발한 위키와 이슈 추적 기능을 갖춘 웹 기반의 깃(Git) 저장소 관리자로써, 10인 정도가 사용하기에 적합한 프로젝트 형상관리 도구이다.

설치 방법은 GitLab 사이트에 자세히 설명되어 있으므로, 이를 기반으로 작성하였다.

GitLab Install : https://about.gitlab.com/install/#ubuntu

 

1. 필요 패키지 설치

$ sudo apt-get install curl openssh-server ca-certificates

$ sudo apt-get install postfix

 

  - postfix는 GitLab의 E-Mail 알림을 위해 설치하는 패키지이므로, 외부 E-Mail가 있다면 추후 외부 E-Mail을 설정하면 된다. 일단 환경 설정은 Internet Site로 설정 후, 진행한다.

 

 

 

2. GitLab 패키지 저장소 추가 및 설치

$ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash

$ apt-get install gitlab-ee

 

  - 설치가 완료되면 아래와 같은 메시지가 출력된다.

 

 

 

3. GitLab 환경 구성

$ sudo gitlab-ctl reconfigure

 

  - GitLab에 필요한 환경 구성들이 셋팅되며 완료 후 아래와 같은 메시지를 출력한다.

 

 

 

4. GitLab 접속

  - 최초 접속 시, 다음과 같이 root 계정의 비밀번호 설정을 요구하는 화면이 나온다. root계정에 사용할 비밀번호를 설정한다.

 

 

 

  - 설정한 비밀번호로 로그인 한다.

 

 

 

  - 다음과 같이 root 계정으로 로그인하면 정상적으로 GitLab이 설치된 것을 확인할 수 있다.

 

 

'Version Control System > GitLab' 카테고리의 다른 글

Git 명령어 정리  (0) 2018.10.28

+ Recent posts