Ubuntu Server에 GitLab 설치 Jenkins BlueOcean 연동 + MSBuild

1. Ubuntu 설치
  1. 먼저 ubuntu 서버를 설치합니다.
    https://www.ubuntu.com/download/server
  2. iso 파일을 다운로드 받고 iso이미지를 통해 부팅가능한 usb를 만듭니다.
    http://rufus.akeo.ie/
  3.  Ubuntu를 설치한 뒤 링크에서 지시하는데로 따라서 gitlab을 설치합니다.
    https://about.gitlab.com/installation/#ubuntu

2. GitLab Community Edition 설치
쉘에서 다음과 같이 입력합니다.
  1. sudo apt-get update : apt-get을 업데이트 합니다.
  2. sudo apt-get install -y curl openssh-server ca-certificates : curl, openssh-server, ca-certificates을 설치합니다. 모든 프롬프트결과에 대해서는 y를 입력합니다.
  3. curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash: gitlab comunity edition 설치를 위한 스크립트 실행합니다
  4. sudo EXTERNAL_URL="http://gitlab.example.com" apt-get install gitlab-ce : gitlab을 설치합니다. gitlab.example.com대신 외부에서 접속할때 사용할 ip 또는 hostname을 사용합니다. 
  5. sudo gitlab-ctl reconfigure : 설정을 적용합니다. 설정을 변경할때 마다 실행합니다.

3. GitLab 접속
쉘에서 다음과 같이 입력합니다.
  1. ifconfig : 현재 서버의 ip를 확인합니다.
  2. 브라우저에서 확인된 IP로 접속한다.
  3. Password 설정화면이 나옵니다.
  4. Password를 지정하면 관리자로 로그인 합니다.
    username : root
    password : 지정한 Password

4. putty 접속 환경 만들기
방화벽 설정이 되어 있지 않았음에도 불구하고 putty접속이 안되길래 방화벽 설정을 하니 정상적으로 접근 가능해졌습니다. 왜 그런지는 저도 잘 모르겠습니다(리눅스 초보). 설치한 Ubuntu Version은 Ubuntu Server 18.04 LTS입니다.
  1. sudo utf enable : 방화벽을 활성화합니다.
  2. sudo ufw default deny : 기본 정책을 차단으로 설정합니다.
  3. sudo ufw allow 22/tcp : putty 접속을 위한 22번 포트를 허용합니다.
  4. sudo ufw allow 80: http포트를 허용합니다.
  5. sudo ufw status verbose : 상태를 확인합니다.

5. ssh 공개키 생성
Jenkins Blue Ocean을 사용하기 위해 GitLab을 ssh를 통해 접속가능하도록 설정합니다.
  1. ssh-keygen : RSA 공개/개인키를 생성합니다. 엔터를 계속 누르면 패스워드 없이 ~/.ssh 위치에 생성이 됩니다.
  2. cd ~/.ssh : 해당 디렉토리로 이동합니다.
  3. ls -l : 생성된 키들을 확인할 수 있습니다.
  4. cat id_rsa.pub : 공개키의 내용을 볼 수 있습니다.
  5. 4에서 생성한 공개키를 복사하여 GitLab에 등록합니다.
  6. 등록을 하고 나면 SSH로 접근 불가했던 Repository URL이 활성화되는 것을 확인할 수 있습니다.


6. Jenkins Blue Ocean 세팅
Git Bash를 통해서는 ssh를 통한 접근이 가능하였으나, Blue Ocean을 통해서는 무슨 이유인지 SSH를 통한 접근이 불가했습니다. (GitLab서버에 접속해서 Public ssh 키가 등록이 되어있는 것도 확인해 보았습니다.) 따라서 본 예제에서는 http를 통해 Git Repository에 접근합니다.


  1. Jenkins Plugin에서 Blue Ocean을 설치한 뒤 Open Blue Ocean을 클릭합니다.
  2. 오른쪽 상단에 있는 New Pipeline을 클릭하고, 위에서 생성한 GitLab Repository URL을 입력합니다. 미리 생성해둔 계정정보 또는 새로 입력한뒤 Create Pipelin버튼을 클릭하면 Pipeline 생성이 완료됩니다.



C:\Users\mk.kim\PycharmProjects\UnitTest>py.test testSite.py --alluredir ./20180625_1
============================= test session starts =============================
platform win32 -- Python 3.6.5, pytest-3.6.2, py-1.5.3, pluggy-0.6.0
rootdir: C:\Users\mk.kim\PycharmProjects\UnitTest, inifile:
plugins: allure-adaptor-1.7.10
collected 1 item

testSite.py .                                                            [100%]

========================== 1 passed in 22.31 seconds ==========================

C:\Users\mk.kim\PycharmProjects\UnitTest>allure generate ./20180625_1 -o ./20180
625_1_report
Report successfully generated to .\20180625_1_report
C:\Users\mk.kim\PycharmProjects\UnitTest>

댓글

이 블로그의 인기 게시물

c# Create Zip File Using 7-zip