【2018년판】Docker+Rancher+Jenkins인 CI환경을 구축한다

소개



시스템 개발로 환경 구축에 시간을 걸리는 까다로운 시대가 되었습니다.
라고 하는 것으로, CI 환경도 바삭하게 준비해 버립시다.
이번에는 Sarah의 CentOS7에 Docker/Rancher/Jenkins를 설정하고 싶습니다.

설정



CentOS7을 설치했다고 가정합니다.
SSH 등으로 로그인하십시오.

Docker 설치



먼저 Docker-CE를 설치합니다.
공식 사이트의 커맨드를 챠챠 치고 갑니다.
  • Get Docker CE for CentOS
  • $ sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    
    $ sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
    $ sudo yum install docker-ce
    
    $ sudo systemctl start docker
    

    docker-compose 명령도 넣습니다.
    $ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    $ sudo chmod +x /usr/local/bin/docker-compose
    
    /usr/local/bin 경로가 없으면 경로를 통과합니다.
    $ echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
    
    $ source ~/.bash_profile
    

    버전을 확인합니다.
    $ docker -v
    Docker version 18.09.0, build 4d60db4
    
    $ docker-compose -v
    docker-compose version 1.23.1, build b02f1306
    

    이제 Docker 준비는 괜찮습니다!

    Rancher 설치



    Rancher는 Docker의 컨테이너 이미지가 배포됩니다.
    먼저 서버 측 컨테이너를 시작합니다.

    또한 표준에서는 8080 포트가 사용되지만 자주 사용되는 포트 번호이므로 여기에서는 9000 포트로 바꿉니다.
    $ sudo docker run -d --restart=unless-stopped -p 9000:8080 rancher/server:stable
    

    브라우저로 액세스해 봅니다.
    http://:9000/

    ※일본어화되어 있지 않은 경우는, 화면 우하에서 언어를 선택할 수 있습니다.

    그런 다음 호스트를 추가합니다.

    여기에서는 사이트의 주소를 선택합니다.
    서버와 호스트를 동일한 시스템에 배치할 수도 있습니다.

    이 화면의 5번 명령을 호스트 PC에서 실행합니다.

    $ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.0.10:9000/v1/scripts/FF89B185C7918681C347:1514678400000:lXr6i25oQ9mDsC7GYk4quVRplj0
    

    호스트가 추가되면 OK입니다!


    Jenkins 설치



    Rancher에는 미리 편리한 카탈로그가 준비되어 있습니다.
    Jenkins도 카탈로그에 등록되어 있으므로 여기에서 등록하겠습니다.



    가장 왼쪽 Jenkins CI 서버를 선택합니다.



    여기에서도 포트 번호가 8080이므로 입지 않도록 9001을 선택하고 있습니다.

    Rancher는 컨테이너 모음을 스택으로 관리할 수 있습니다.
    스택이 시작되었는지 확인합니다.


    포트 번호 9001이 링크되어 있으므로 클릭해 보겠습니다.



    Jenkins가 시작된 것 같습니다.
    관리자 암호는 컨테이너의 파일에 나열되어 있으므로 Rancher의 쉘 콘솔에서 확인해 봅니다.


    $ cat /var/jenkins_home/secrets/initialAdminPassword
    



    확인할 수 있었습니다.
    로그인하여 Jenkins 초기 설정을 진행합니다.



    Install suggested plugins를 선택합니다.



    오야? Pipeline이 오류가 발생했습니다.
    이것은 Jenkins 버전이 오래되었기 때문입니다.
    그러나 Jenkins의 자동 업데이트가 활성화되어 있지 않으므로 아래를 참조하여 자동 업데이트를 활성화합니다.
  • Jenkins의 자동 업데이트가 불가능하다면 쓰기 권한을 볼 수 있습니다.

  • ··· 그러나 Rancher의 쉘 콘솔에서 root 사용자에게 su 할 수 없기 때문에, 아래의 커멘드로 root에 로그인해 조작합니다.
    $ sudo docker exec -u 0 -it <コンテナID> bash
    
    $ chown -R jenkins:jenkins /usr/share/jenkins
    

    다시 Jenkins 화면을 열고 업데이트하십시오.


    이것으로 Jenkins 설치가 완료되었습니다.

    수고하셨습니다!

    좋은 웹페이지 즐겨찾기