'docker'에 해당되는 글 1건
2018. 1. 24. 02:28
[코드]
처음 Redmine을 사용한 게 2008년이니 뜻하지 않게 근 10년(!)을 하나의 프로젝트 관리툴을 사용해 오게 되었다. 물론 여기저기 기웃거려 보기도 했지만, 결국 자료가 쌓여 있는 (라고 말하고 더렵혀져 있는) 곳에서 벗어날 수 없었으니... 벗어날 수 없다면 업그레이드라도 단행해 보자라고 생각하고 당당히 AWS EC2에 올라가 있는 인스턴스에서 데이터를 백업 받기 시작했다.
레드마인의 백업은 기본적으로 딱 두가지로 이루어진다.
- 데이터베이스 (덤프)
- 첨부파일 (단순 압축/백업)
업그레이드 목표는 다음과 같았다.
- 레드마인은 무조건 최신버전으로. (3.4.4)
- 데이터베이스 인스턴스와 레드마인 자체는 모두 두개의 Docker로 분리한다.
처음 생각해 보니 꽤 난이도가 있어 보였지만, 사실 생각보다 쉬웠다...
- 일단 두 백업을 모두 받아 저장해 놓고,
- Docker 이미지를 받는다.
- redmine:3.4.4-passenger
- passenger를 사용한 이유는 웹브릭이 Docker 로그 확인할 때 문제가 있어서...
- mysql:lastest
- redmine:3.4.4-passenger
- 먼저 mysql 인스턴스를 만들어 실행하고, 덤프한 sql 파일을 복원해 준다.
- 다음은 redmine 인스턴스를 만들어 실행하고, mysql과 링크...
- ...함과 동시에 기존 첨부파일을 컨테이너내에 redmine 첨부위치와 연결
- 포트 노출 시키고 테스트
막상 6줄 요약해 놓으니 짧아 보이지만, 딱 2시간 정도 걸렸다. remine 컨테이너가 시작되면 자동으로 마이그레이션이 수행되는 과정은 docker logs 를 통해 확인 가능. 1.x 에서 3.4.4로 넘어가면서 무진장 오류가 날거 같았지만, 생각보다 수월했다. 오류가 났던 항목은 다음과 같았다.
- 시크릿 초기화에 따른 로그인 오류. (로그인 후 재로딩하면 해결)
- custom_fields 테이블 오류에 따라 이슈탭이 안열리는 오류. (이건 따로 자료가 없다. 어짜피 사용 안하던 부분이라 테이블 데이터를 밀린 해결.)
쓰고 보니 Redmine은 플러그인 없이 쓰는게 진리라는 생각이 다시금...
반응형