woonizzooni

Docker Jenkins Blue Ocean 설치 본문

Docker

Docker Jenkins Blue Ocean 설치

woonizzooni 2019. 6. 18. 02:27

(실행 환경은

 https://woonizzooni.tistory.com/entry/Docker-Toolbox-설치-메모리-확장-디스크-확장-timezone변경,

 개인 편의상 CLI로 진행)

 

Jenkins 이미지 다운로드 + Jenkins 컨테이너 생성 & 실행

> Jenkins  환경 설정 : jenkins 업그레이드 + 기본 플러그인 설치 + Blue ocean플러그인 설치 순으로 진행.

 

 

Blue Ocean 참고

 https://jenkins.io/doc/book/blueocean/

 

1. Docker 이미치 다운로드 & 컨테이너 실행

   docker host에 jenkins 데이터 저장용 디렉토리를 생성해서 컨테이너에 mount시키자.

 1-1. Jenkins 데이터 저장용 디렉토리 생성

    $ sudo -i

    # mkdir -p /mnt/sdb1/jenkins-data

 

 1-2. 생성된 볼륨을 Jenkins 컨테이너에 mount & 실행

    $ docker run -d -u root -p 49000:8080 -p 51000:51000 -v /mnt/sdb1/jenkins-data:/var/jenkins_home --name myjenkins jenkins; 

$ docker run \
-d \
-u root \
-p 49000:8080 \
-p 51000:51000 \
-v /mnt/sdb1/jenkins-data:/var/jenkins_home \
--name myjenkins \
jenkins; 

Unable to find image 'jenkins:latest' locally
latest: Pulling from library/jenkins
55cbf04beb70: Pull complete 
......
1322ea3e7bfd: Pull complete 
Digest: sha256:eeb4850eb65f2d92500e421b430ed1ec58a7ac909e91f518926e02473904f668
Status: Downloaded newer image for jenkins:latest
010946e37db8692a98c886ef9d7f0c2de43603bdc7553d33aef2fe77efe33f07

$ docker ps
CONTAINER ID IMAGE   COMMAND                CREATED        ...   NAMES
010946e37db8 jenkins "/bin/tini -- /usr/l…" 11 seconds ago ...   myjenkins
213acd3a395e mysql   "docker-entrypoint.s…" 35 minutes ago ...   mysqldb

docker exec -i -t myjenkins bash
root@010946e37db8:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          18G  1.5G   16G   9% /
tmpfs            64M     0   64M   0% /dev
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sdb1        98G  503M   93G   1% /var/jenkins_home <---- 
/dev/sda1        18G  1.5G   16G   9% /etc/hosts
shm              64M     0   64M   0% /dev/shm
tmpfs           2.0G     0  2.0G   0% /proc/asound
tmpfs           2.0G     0  2.0G   0% /proc/acpi
tmpfs           2.0G     0  2.0G   0% /proc/scsi
tmpfs           2.0G     0  2.0G   0% /sys/firmware
root@010946e37db8:/# 

   최초 이후 부터는

   $ docker { start | restart | attach | .. } myjenkins

 

2. Jenkins 환경 설정 (기본 플러그인 + BlueOcean)

 2-1. Jenkins 접속 : http://192.168.99.100:49000

 2-2. Unlock Jenkins : 아래 명령으로 확인한 값을 입력 > Continue입력

docker@default:/var/lib/docker$ docker exec myjenkins cat /var/jenkins_home/secrets/initialAdminPassword
64895129cfec4449acced83d99e3e75c

 2-3. Customize Jenkins :

    - Install suggested plugins 선택하면 아래와 같은 설치 에러를 볼 수 있으니

SEVERE: Failed Loading plugin Pipeline: Step API v2.20 (workflow-step-api) 
java.io.IOException: Pipeline: Step API v2.20 failed to load. 
 - You must update Jenkins from v2.60.3 to v2.121.1 or later to run this plugin. 
...

    - Select plugins to install 선택 : None선택 >Install 클릭

      (나중에 Jenkins업그레이드 후 진행예정, 아래는 기본체크 항목들)

> Organization and Administration (2/3)
  1.Folders
  2.OWASP Markup Formatter
> Build Features (4/10)
  1.Build Timeout
  2.Credentials Binding
  3.Timestamper
  4.Workspace Cleanup
> Build Tools (2/4)
  1.Ant
  2.Gradle
> Build Analysis and Reporting (0/6)
> Pipelines and Continous Delivery (4/9)
  1.Pipeline
  2.GitHub Branch Source
  3.Pipeline: GitHub Groovy Libraires
  4.Pipeline: Stage View
> Source Code Management (2/12)
  1.Git
  2.Subversion
> Distributed Builds (1/3)
  1.SSH Slaves
> User Management and Security (3/5)
  1.Matrix Authorization Strategy
  2.PAM Authentication
  3.LDAP
> Notification and Publishing (2/5)
  1.Email Extension
  2.Mailer

 2-4. Create First Admin User (계정명 / 암호 / 암호확인 / 이름 입력 > Continue as admin or Finish 아무거나)

 2-5. Jenkins is ready! > Start using Jenkins 클릭

 2-6. Jenkins관리 클릭 > '또는 자동 업그레이드' 클릭 : 플러그인 설치/업그레이드 중....

    - 완료시 jenkins 재시작 (Jenkins관리 > Upgrade to Jenkins 2.176.1 is complete, awaiting restart < 클릭)

    - Are you sure about restarting ..... 'Yes'클릭 > Please wait while Jenkins is restarting ..

 2-7. 재접속 (http://192.168.99.100:49000, 사용자이름/비밀번호는 아까 설정한 것으로)

       Jenkins관리 > Waring have been published for the ... 옆 'Go to pluing manager' 버튼 클릭

    - '업데이트된플러그인 목록' 모두 선택 후 '지금 다운로드하고 재시작 후 설치하기' 클릭

  - 설치가 끝나고 실행중인 작업이 없으면 Jenkins재시작 체크.

 2-8. 재접속 & 로그인

       Jenkins관리 > 플러그인 관리 > 설치 가능 > '3-4'항목 모두 선택

       + 
       Blue Ocean (BlueOcean Aggregator), Blue Ocean Executor Info 체크

    - '재시작 없이 설치하기' 클릭 > '설치가 끝나고 실행중인 작업이 없으면 jenkins 재시작' 체크

  ... 한동안 Ant 설치 중에 머물러 있기에 재접속해보니 다 설치된 것 같기는 한데, (체크박스 체크해서 그런가)

     $ docker restart jenkins

 

완료 후 메인 페이지로 이동. 'Open Blue Ocean'확인.

= 끝 =

 

 

  [참고]

    Jenkins에서 제공하고 있는 설치 절차 참고 (https://jenkins.io/doc/book/installing/)

 


※ 아래 내용은 상단 글보다 먼저 진행했던 내용. 그냥 참고용으로...

 

아래 과정 다 해보고 나니 dockerhub의 jenkinsci 계정에 "DEPRECATED Plase use jenkins/jenkins!"라고 나오네.

업데이트는 되고 있던데 -_-

걍 Official로 가자.

 

 

1. 이미지 다운로드 (https://hub.docker.com/r/jenkinsci/blueocean)

  $ docker pull jenkinsci/blueocean (혹은 아래 명령 실행으로 가자)

2. 컨테이너 실행

  위에 첨부한 이미지 '[참고]'해서 아래와 같이 실행 (이미지가 겂을 경우 이미지 다운로드가 병행됨)

 $ docker run -u root --rm -d -p 49000:8080 -p 52000:51000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --name my_jenkins jenkinsci/blueocean

docker@default:~$ docker run -u root --rm -d -p 49000:8080 -p 52000:51000 \
> -v jenkins-data:/var/jenkins_home \
> -v /var/run/docker.sock:/var/run/docker.sock \
> --name my_jenkins jenkinsci/blueocean

Unable to find image 'jenkinsci/blueocean:latest' locally
latest: Pulling from jenkinsci/blueocean
e7c96db7181b: Pull complete 
f910a506b6cb: Pull complete 
c2274a1a0e27: Pull complete 
0a6d4da836ee: Pull complete 
de942881234a: Pull complete 
b256035798b6: Pull complete 
a2f05fd0ba6b: Pull complete 
86a06338b6a5: Pull complete 
19c732bfcd6b: Pull complete 
75dd6adc36df: Pull complete 
2821ce344974: Pull complete 
11e490f8a97e: Pull complete 
1db9489d1da7: Pull complete 
9dc51310d2ab: Pull complete 
8bbfa5f8012a: Pull complete 
Digest: sha256:f942fac138b95191995edcf84434e825c61cc8d0d3cb5a23509059dfe393970f
Status: Downloaded newer image for jenkinsci/blueocean:latest
79edee46e78f632ef0fd6d106dbdfa15b7b4a652db83fa01b6834c7a619f6158

docker@default:~$ docker ps
CONTAINER ID IMAGE  ... PORTS                                                        NAMES
79edee46e78f jenkinsci..50000/tcp, 0.0.0.0:49000->8080/tcp, 0.0.0.0:52000->51000/tcp my_jenkins

 

3. Jenkins설정

 3-1. 브라우저에서 jenkins url 접속 (http://192.168.99.100:49000)

 3-2. Unlock Jenkins : docker쉘 > jenkins쉘로 접속 후 패스워드 확인해서 입력

docker@default:~$ docker exec -i -t my_jenkins bash
bash-4.4# cat /var/jenkins_home/secrets/initialAdminPassword
*******1234

 3-3. Cuntomize Jenkins : Install suggested plugins선택

       Getting Started ......... (설치 중)

 3-4. Create First Admin User : 계정명 / 암호 / 이름 / 이메일 주소 값 입력 후  Continue as admin 클릭

 3-5. Instance Configuration : Jenkins URL (난 그대로) Save as Finish 클릭

 3-6. Jenkins is ready! : Start using Jenkins 클릭

      http://192.168.99.100:49000/  

      http://192.168.99.100:49000/blue

 

Comments