CentOS 7 에 Jenkins CI 설치하기

CI/Jenkins 2015. 11. 21. 21:03 by 후뤼한잉여

CentOS 7 에 Jenkins CI 설치하기

1) 개요

CI(Continous Intergration, 지속적 통합)은 애자일 개발 방법 중 하나로 여러 개발자가 작업한 것을 통합하는 일을 미루지 말고 개발 중에라도 실시하여 소프트웨워의 복잡성을 제거하자는 생각에 대한 방식이다.
이러한 CI를 지원하는 도구 중 하나로 유명한 Jenkins를 사용해보고자 설치한 내용을 정리하기 위해 작성되었습니다.
아직 잉여라 실제로 사용해본 적도 없고 배워야할게 많아 실질적으로 사용은 못 해보고 있지만 언젠간 사용해볼 날을 기대하며 문서를 남겨 봅니다.
이 문서에서는 톰캣 등에 올려서 사용하지 않고 Jenkins 자체 서버를 이용한 방법으로 설명 되어있습니다.

2) 설치하기

  1. Jenkins 실행을 위한 JDK 설치
    • Oracle JDK를 설치하여 설치해보려 했으나 내공 부족으로 실패하여 공식적으로 하라는 대로 그냥 Open JDK를 설치하여 진행하기로 하였습니다.
      sudo yum install java-1.7.0-openjdk
      
  2. Jenkins 설치를 위한 yum레파지토리 설정
     sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
     sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
    
  3. Jenkins 설치
     sudo yum install jenkins
    
  4. Jenkins에 사용할 포트 설정

     sudo vi /etc/sysconfig/jenkins
    
     //JENKINS_PORT와 JENKINS_AJP_PORT를 변경
     JENKINS_PORT="9090" 
     JENKINS_AJP_PORT="9091"
    
  5. Jenkins 사용을 위한 방화벽 설정
     sudo firewall-cmd --permanent --zone=public --add-port=9090/tcp
     sudo firewall-cmd --reload
    
  • Jenkins 서비스 명령어
    • Jenkins 시작
      sudo service jenkins start
      
    • Jenkins 종료
      sudo service jenkins stop
      
    • Jenkins 재시작
      sudo service jenkins restart
      

3) 기본 설정하기

  1. Jenkins 서버 접속

  2. 왼쪽 메뉴 중 [Jenkins 관리] 메뉴 클릭


  3. [Configure Global Security] 메뉴 클릭


  4. 설정 하기

    • Enable security 체크박스 클릭
    • 사용자의 가입 허용 체크 박스 클릭
    • Matrix-based security 라디오 버튼 클릭

    • User/group to add에 관리자로 사용할 계정을 입력 후 [Add]버튼을 클릭하여 추가 한다.

    • 생성 된 계정 옆에 체크박스들에 체크를 다 하여 권한을 부여한다.
    • [Save] 버튼을 클릭하여 계정 설정을 저장한다.
  5. [계정 생성] 메뉴를 클릭하여 관리자 계정으로 가입을 진행한다.

    • 이 부분을 꼭 진행해야 나중에 문제가 안된다고 한다.

        


GitLab과 Slack 연동하기

Version Control/Git 2015. 11. 21. 20:22 by 후뤼한잉여

GitLab과 Slack 연동하기

1) 개요

팀 챗으로 유명한 Slack에 GitLab을 연동할 수 있다는 이야기를 듣고 한번 테스트 삼아 연동한 내용을 정리하고자 작성하였습니다.
관련 내용을 한글로 된 문서를 찾기 어려웠고, 간단하게만 연동한 내용을 공개합니다.

2) Slack 설정

  1. Slack의 [Team Settings]메뉴에 접속한다.

  2. [Integrations] 메뉴를 클릭한다.


  3. 서비스 중에 Incoming WebHooks를 찾아 클릭한다.


  4. 포스팅 할 채널을 선택 한다.


  5. [Add Incoming WebHooks Integration] 버튼을 클릭 합니다.


  6. 설정을 진행 한 후, Webhook URL을 복사 해 둔다.


  7. [SaveSettings] 버튼을 클릭하여 설정을 완료합니다.

3) GitLab 설정하기

  1. Slack에 연동 할 프로젝트를 선택 합니다.

  2. [Settings] 메뉴를 클릭 합니다.


  3. [WebHooks] 메뉴를 클릭 합니다.


  4. URL에 Slack에서 설정한 Webhook URL을 입력 한다.

  5. 어떤 이벤트에 포스팅할지 설정 하고 [Add WEB HOOK]버튼을 클릭한다.


  • GitLab에 HTTPS를 사용 시 인증되지 않은 SSL을 사용중이라면 Enable SSL verification 옵션은 체크 해제 한다.


GitLab에 GitHub 레파지토리 Import 하기

Version Control/Git 2015. 11. 21. 19:20 by 후뤼한잉여

GitLab에 GitHub 레파지토리 Import 하기

1) 개요

GitLab과 GitHub를 동시에 관리 해보기 위해 테스트한 내용을 정리하기 위해 작성되었습니다.

2) GitHub에 GitLab에 접근가능하도록 설정하기.

  1. GitHub에 로그인 한다.
  2. 오른쪽 상단에 계정을 선택 후, [Settings] 메뉴를 클릭한다.

  3. [Applications] 메뉴를 클릭한다.

  4. [Developer applications] 메뉴를 클릭한다.

  5. [register an application.] 를 클릭한다.

  6. 아래 내용을 작성한 후, [Register application]버튼을 클릭하여 외부 접근 가능한 Application을 생성한다.


  7. 정보를 잘 적어놓는다.


3) GitLab 설정하기

  1. GitLab 설정 파일 수정

     sudo vi /etc/gitlab/gitlab.rb
    
     약 110 라인쯤에 주석을 제거한 후 해당 내용을 설정한다.
     위에서 적어놓은 Client ID, Client Secret 내용을 입력하면 된다.
     gitlab_rails['omniauth_providers'] = [
         {
           "name" => "github",
           "app_id" => "[생성된 ID]",
           "app_secret" => "[생성된 SECRET 번호]",
           "url" => "https://github.com/",
           "args" => { "scope" => "user:email" }
         }
     ]
    

  2. GitLab 설정파일을 다시 설정을 한다.

     sudo gitlab-ctl reconfigure
    


Nav