웹사이트 검색

CentOS에서 지속적인 통합 및 배포를 위해 Gitlab을 설정하는 방법


이 페이지에서

  1. 1. 지속적 통합 및 지속적 배포는 어떻게 작동합니까?\n
  2. 2. 설치 단계
  3. 3. 테스트 단계

이 튜토리얼에서는 CI(Continuos Integration)/CD(Continous Deployment) 작업을 위해 로컬 Gitlab 서버를 설정하는 방법을 설명합니다. 아직 모르는 사람과 마찬가지로 GitLab은 단일 애플리케이션으로 제공되는 완전한 DevOps 플랫폼입니다. CI/CD를 통한 프로젝트 기획 및 소스코드 관리부터 모니터링 및 보안까지. 이를 통해 팀은 여러 도구에서 여러 스레드를 관리하는 대신 단일 대화에서 협업하고 작업할 수 있습니다. DevOps 라이프사이클 전반에 걸쳐 단일 데이터 저장소, 사용자 인터페이스 및 권한 부여 모델을 제공함으로써 팀은 크게 협업하고 주기 시간을 단축하며 각 애플리케이션을 신속하게 구축하는 데에만 집중할 수 있습니다.

각 비즈니스 접근 방식이 더 커지고 포괄적이 됨에 따라 모든 제품에는 경쟁사보다 더 뛰어난 기능이 있어야 합니다. 이를 달성하려면 준비가 된 여러 모듈을 도입하고 개발해야 하며 신속하게 시장에 출시하고 완전히 테스트 및 검증해야 합니다. 이런 식으로 Gitlab이 DevOps 실행으로의 전환 프로세스를 촉진할 수 있는 유일한 애플리케이션 소스라면 이정표에 도달하는 데 정말 도움이 될 것입니다.

1. 지속적인 통합 및 지속적인 배포는 어떻게 작동합니까?

GitLab을 코드의 플랫폼으로 사용하여 소프트웨어 개발 프로세스의 전체 수명 주기 동안 수행할 수 있는 가능한 작업의 논리적 순서가 있습니다. 목표는 신제품 구현의 첫 번째 단계부터 생산에 구현하는 마지막 단계까지 팀을 일관되고 효과적으로 지원하는 것입니다. 아래 그림은 작업 흐름을 요약한 것입니다.

DevOps의 범위가 상당히 크기 때문에 이 튜토리얼에서는 로컬 조건에서 Gitlab 서버를 설정하는 데 중점을 둡니다. Gitlab Community Edition을 사용하여 로컬 환경에서 설정합니다.

2. 설치 단계

설치 단계에서는 먼저 각 서버가 최소 서버 구성에 있다고 가정하고 전제 조건으로 서버를 설정하는 것으로 시작합니다. 다음은 단계입니다.

 [ ~]# yum updateinstall -y curl policycoreutils-python openssh-server 

위의 작업은 설치 및 검토가 원활하게 진행되도록 하기 위한 선택 사항입니다. 설치가 완료되면 아래와 같은 스크린샷이 표시됩니다.

그런 다음 필요에 따라 postfix 서비스를 시작합니다. 아래는 명령입니다.

 [ ~]# systemctl enable postfix 

완료되면 아래와 같은 스크린샷이 표시됩니다.



다음으로 설치를 위해 GitLab 자체에서 제공하는 자동화 스크립트를 가져오기 위해 wget을 설치해야 합니다. Curl 등을 사용하여 설치하는 다른 방법을 사용할 수도 있습니다. 이 연습에서는 wget을 대신 사용하여 스크립트를 다운로드합니다. wget 패키지가 설치되면 여기에서 스크립트를 다운로드하여 로컬 서버에 넣습니다. 다음은 단계입니다.

 [ ~]# ./script.rpm.sh 

프로세스는 아래와 같습니다.

다음으로 GitLab 서비스 및 해당 종속성 구성을 준비하기 시작합니다. 단계는 아래와 같습니다.

 [ ~]# yum install -y gitlab-ce 

모든 작업이 완료되면 아래와 같이 진행 상황이 표시됩니다.

엄청난! 이제 모든 것이 준비되었으므로 서비스 및 해당 종속성을 설치하는 프로세스를 계속하겠습니다. GitLab은 DevOps가 함께 엔지니어링할 수 있는 견고한 애플리케이션이었기 때문에 여러 패키지와 구성이 구성될 것입니다. 따라서 일반적인 서비스 설치보다 시간이 더 오래 걸리는 것이 정상입니다. 설치를 시작하기 전에 기본 URL이 예상대로 구성되었는지 확인하십시오. 다음은 단계입니다.

 [ ~]# gitlab-ctl reconfigure 

진행이 원활하게 실행되면 아래 스크린샷과 같이 표시됩니다.

이제 설치 부분에서 모든 작업이 완료되었으므로 Gitlab용 포트를 사용할 수 있도록 하는 마지막 작업을 수행하겠습니다. 다음은 단계입니다.

 [ ~]# iptables -L -n 

아래는 스크린 샷입니다

이제 GitLab 설치를 거의 완료했습니다. 이제 자체 GitLab 서버에 로그인하고 필요에 따라 프로젝트를 구성할 수 있습니다. 최종 결과로 이전에 구성한 URL(이 경우 http://10.124.12.133)을 통해 브라우저를 통해 GitLab 서비스를 볼 수 있습니다. 자동으로 기본 페이지로 리디렉션된 다음 필요에 따라 초기 관리자 암호를 설정합니다. 이 경우 기본 관리 사용자는 루트입니다. 아래는 예시입니다 :-

3. 테스트 단계

모든 것이 완료되면 GitLab을 프로젝트 개발 저장소로 사용하는 프로젝트를 정의하는 팀에서 사용자 역할을 합시다. 먼저 새 프로젝트를 만들고 프로젝트 만들기를 클릭하고 필요에 따라 세부 정보를 정의합니다. 예는 아래와 같습니다.

완료되면 아래와 같이 프로젝트의 기본 페이지로 리디렉션됩니다.

이제 프로젝트로서 이 저장소에 기여한 여러 사용자가 있을 것입니다. 시나리오를 다시 만들기 위해 나중에 이 프로젝트에 기여할 사용자를 만들 수 있습니다. 기본 페이지로 돌아가서 사람 추가를 클릭합니다. 아래와 같이 회원 생성 페이지로 이동됩니다. 사용자를 생성하고 필요에 따라 입력합니다.

이제 완료되면 기본 프로젝트 페이지로 돌아가서 설정으로 이동하여 회원을 클릭하십시오. 아래는 예시입니다 :-

프로젝트 구성원 페이지로 이동하고 생성한 새 사용자를 포함하고 아래 예와 같이 사용자에게 부여할 역할을 정의합니다. 역할 및 권한의 모든 정의에 대해 자세히 알아보기를 클릭하여 자세한 내용을 볼 수 있습니다.

완료되면 아래 예에 따라 부여된 팀원 목록이 표시됩니다.

이제 다른 서버에서 접근하여 프로젝트 워크플로 기여도를 테스트하고 우리가 만든 새 사용자로 로그인하고 프로젝트에 커밋할 새 파일을 만듭니다. 먼저 다른 서버나 워크스테이션에서 복제할 프로젝트의 URL을 가져옵니다. 아래 예에서 프로젝트 URL 링크를 사용할 수 있습니다.

모든 것이 준비되면 테스트 워크스테이션에 로그인하고 다른 사용자가 액세스할 수 있도록 프로젝트를 복제합니다. 다음은 단계입니다.

 [ ~]# git clone http://10.124.12.133/root/my-first-project.git 

프로젝트를 복제하려면 사용자 액세스 권한을 제공해야 합니다. 아래에 표시된 예와 같이 지금 생성된 새 사용자를 사용하십시오.

완료되면 프로젝트 이름을 가진 새 폴더가 워크스테이션 아래에 생성됩니다. 이제 폴더 내부로 이동하여 빈 파일을 만듭니다. 이것은 프로젝트가 모든 워크스테이션의 모든 팀 구성원이 기여할 수 있고 프로젝트 저장소가 항상 동시에 업데이트되는지 테스트하기 위한 것입니다. 다음은 단계입니다.

 [ my-first-project]# touch myfile.txt 

모든 작업이 완료되면 프로젝트 기본 리포지토리와 동기화되도록 변경 사항을 커밋합니다. 다음은 단계입니다.

 [ my-first-project]# git push -u origin master 

위의 명령이 진행되면 프로세스는 아래 예와 같이 표시됩니다.

엄청난! 모든 작업이 완료되면 브라우저로 돌아가서 페이지를 새로 고칩니다. 사용자 shahril이 커밋한 새 파일이 기본 프로젝트 페이지에 표시됨을 알 수 있습니다.