SonarQube7.9 마이그레이션하기 /w PostgreSQL (docker-compose)

·2020년 1월 9일
0

SonarQube

목록 보기
2/3
post-thumbnail

Intro

출발지 A서버(이하 A) -> 도착지 B서버로(이하 B) 마이그레이션(이전) 방법을 공유 합니다.
SonarQube7.9 설치하기 /w PostgreSQL (docker-compose) 구축되어져 있다는 가정입니다.

3줄 요약 :

  • A의 volumes 경로 압축
  • 압축파일을 B에 복사하고 A와 동일한 경로에 압축해제
  • docker-compose up 만 하면 마이그레이션 완료 👌

1. 테스트 환경 (B서버)

  • Ubuntu 16.04
  • docker-compose 1.24.1
  • docker 18.09.3
  • SonarQube 7.9.1
  • PostgreSQL 11.4

2. 설치 (B서버)

사전설치

$ sysctl -w vm.max_map_count=262144
$ sysctl -w fs.file-max=65536
$ ulimit -n 65536
$ ulimit -u 4096```
[SonarQube7.9 사전 설치 제약 조건](https://docs.sonarqube.org/7.9/requirements/requirements/)

### 3. 백업 (A서버)
압축 파일을 생성합니다. `sonarqube.tar.gz`
```bash
$ cd /app/
$ tar -zvcf sonarqube.tar.gz sonarqube
$ ...
$ ls -al # sonarqube.tar.gz 확인

4. 마이그레이션 (B서버)

1) 압축 파일을 B서버로 복사하고, 압축을 풀어줍니다.

$ cd /app/
$ tar -xvzf sonarqube.tar.gz
$ ...
$ ls -al # /app/sonarqube 디렉토리 생성 확인

2) docker-compose.yml 생성

$ vi /work/sonarqube/docker-compose.yml
version: "3.1"
services:
  sonarqube:
    image: sonarqube:7.9.1-community
    container_name: sonarqube7.9
    ports:
      - "9000:9000"
      - "9092:9092"
    networks:
      - sonarnet
    environment:
      - SONARQUBE_HOME=/opt/sonarqube
      - SONARQUBE_JDBC_USERNAME=sonar
      - SONARQUBE_JDBC_PASSWORD=sonar
      - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
    volumes:
      - /app/sonarqube/conf:/opt/sonarqube/conf
      - /app/sonarqube/data:/opt/sonarqube/data
      - /app/sonarqube/logs:/opt/sonarqube/logs
      - /app/sonarqube/extensions:/opt/sonarqube/extensions
 
  db:
    image: postgres
    container_name: postgres
    networks:
      - sonarnet
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - /app/sonarqube/postgres:/var/lib/postgresql/data
 
networks:
  sonarnet:
    driver: bridge

3) SonarQube 기동

$ cd /work/sonarqube
$ docker-compose up -d

5. 실행 확인

1) 서비스 시작

$ docker-compose up -d

2) 🚬 (5분 후) 실행 로그 확인

docker logs --tail 10 sonarqube7.9 # 로그의 마지막 10줄만 출력

3) SonarQube 로그인
http://<IP>:9000 접속 (admin / admin)
데이터 확인되면 끝! 🙆

0개의 댓글