728x90
반응형

Jenkins Docker 설치 가이드 (Rocky9, jen 계정 기준)

1. 사전 준비

1-1. jen 계정 확인

sudo useradd -m jen
sudo passwd jen
sudo usermod -aG docker jen
  • Docker 명령어를 비루트 계정(jen)에서 실행 가능하도록 docker 그룹에 추가합니다.

1-2. 디렉토리 생성

sudo mkdir -p /hdd/jen/home
sudo chown -R jen:jen /hdd/jen
sudo chmod -R 750 /hdd/jen/home
  • /hdd/jen/home : Jenkins 홈 디렉토리 (데이터 영속화)
  • SELinux 환경에서는 :Z 옵션 사용

2. Docker / Docker Compose 설치 확인

docker --version
docker compose version
  • 설치되지 않았다면:
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl enable --now docker

3. Docker Compose 파일 생성

cd /hdd/jen
vi docker-compose.yml
version: '3.8'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    restart: always
    user: root                    # 일부 플러그인 설치를 위해 root 필요
    ports:
      - "8080:8080"               # 웹 UI
      - "50000:50000"             # agent 연결
    volumes:
      - /hdd/jen/home:/var/jenkins_home:Z
    shm_size: '512m'

설명

  • :Z → SELinux 컨텍스트 적용
  • 8080 → 브라우저 접속용
  • 50000 → Jenkins agent 연결용
  • shm_size → 빌드 시 메모리 공유 공간 확보

4. Jenkins 실행

cd /hdd/jen
docker compose up -d
  • 컨테이너 정상 실행 확인:
docker ps

5. 초기 설정

  1. 브라우저에서 접속:
http://서버IP:8080
  1. 초기 관리자 비밀번호 확인
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
  1. Jenkins 웹 UI에서 초기 비밀번호 입력 후

    • 추천 플러그인 설치
    • 관리자 계정 생성

6. 권한 및 SELinux 확인

sudo chown -R jen:jen /hdd/jen/home
sudo chmod -R 750 /hdd/jen/home
  • SELinux 활성화 시 :Z 옵션 필요

7. GitLab 연동 (선택 사항)

  1. Jenkins 플러그인 설치

    • GitLab Plugin
    • Git Plugin
  2. Jenkins에서 GitLab 서버 등록

    • URL: http://<GitLab 서버IP>:<포트>
    • Access Token 생성 → Jenkins Credential 등록
  3. Job 생성 → GitLab 프로젝트 빌드 가능


8. 컨테이너 관리

  • Jenkins 재시작
docker compose restart
  • 컨테이너 중지
docker compose down
  • 로그 확인
docker compose logs -f

참고 사항

  • /hdd/jen/home 경로는 Jenkins 데이터 전용. 컨테이너 삭제해도 데이터 보존됨
  • 호스트 방화벽에서 8080/50000 포트 열어야 외부 접근 가능
  • 운영 환경이면 SSL/HTTPS 적용 가능 (리버스 프록시 추천)
728x90
반응형

'04.DevTools' 카테고리의 다른 글

[SVN] SVN 사용법  (0) 2024.11.14
[IntelliJ] Intellij Gitlab 연동  (0) 2024.08.16
[Nexus]Centos7 nexus 설치 및 이클립스 연동  (0) 2022.04.21

+ Recent posts