docker에서 jenkins 띄우기

LeeKyoungChang·2023년 1월 18일
0
post-thumbnail
post-custom-banner

🌅 docker compose를 통해 jenkins를 띄워볼 것이다!

 

docker, jenkins 실행 목록

 

📚 1. docker compose

📖 A. docker-compose란?

도커는 docker-compose 라는 것을 지원한다.
docker-compose : 여러 컨테이너의 실행을 한번에 관리할 수 있게 도와주는 도커의 도구입니다.

=> 하지만 저희와 같이 하나의 컨테이너만 필요한 상황에서도 유용하게 사용할 수 있다.

 

✔ docker-compose 사용하기

$ sudo apt install docker-compose

 

✔ docker-compose.yml 만들기

vi docker-compose.yml : 파일을 만든다.

version: "3"
services:
  jenkins:
    image: jenkins/jenkins:lts
    user: root
    volumes:
      - ./jenkins:/var/jenkins_home
    ports:
      - 8080:8080
  • jenkins를 사용
  • user : 컨테이너가 실행될 리눅스의 사용자 계정을 root로 명시한다.
  • volumes : 도커 컨테이너의 데이터는 컨테이너가 종료되면 휘발된다. 도커 컨테이너의 데이터를 보존하기 위해 사용한다. (/var/jenkins_home 이라는 디렉터리를 /jenkins와 마운트하고 데이터를 보존할 수 있다.)
  • port : 좌측이 호스트 port, 우측이 컨테이너 port (컨테이너 외부와 내부 포트를 포워딩한다.)

=> docker-compose.yml이 존재하는 경로에서 도커 컨테이너를 실행할 수 있다.

 

✔ docker container 실행

$ sudo docker-compose up -d
  • d 옵션 : 컨테이너가 데몬으로 실행됨을 의미

jenkins 화면

성공!

 

 

📚 2. docker image (jenkins)에서

📖 A. jenkins에서 초기 설정

✔ jenkins 초기 password 알기

$ sudo docker logs jenkins

을 통해 jenkins 컨테이너에 출력된 로그를 확인할 수 있다.

현재는 /var/jenkins_home => ./jenkins 로 변경되었다. (docker-compose의 volumes에서 설정해주었다.)

 

뒤늦게 알았는데, secrets은 root 계정만 접근할 수 있다.

sudo

 

✔ port 변경하기
docker-compose.yml 에서 호스트 port를 변경해주면 된다.

 

✔ 타임 존을 서울로 설정하기!

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Seoul')

Jenkins 관리 -> Script console에서 위 스크립트를 입력하면 타임 존이 서울로 설정된다.

 

 


참고

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"
post-custom-banner

0개의 댓글