dinist

[Docker gitlab] 14.6.1 -> 15.X 버전업데이트 본문

리눅스/Docker

[Docker gitlab] 14.6.1 -> 15.X 버전업데이트

dinist 2022. 12. 9. 14:18

오랜만의 포스팅입니다.

회사생활과 건강문제등으로 인해 포스팅을 못했었는데 앞으로 다시 포스팅을 잘 해야겠다는 생각이듭니다.

java,php 등.. 공부한게 여러가지인데 포스팅을 하지 못했네요 여유가 되는데로 포스팅을 할 계획입니다.

 

현재 회사에서 형상관리용 git을 docker container로 띄워서 운영중입니다.

이전부터 update asap 라고 표시되는것을 보았었는데 이제 업데이트를 해야겠다는 생각이 들더군요

 

그래서 업데이트를 하기로 했습니다.

 

https://docs.gitlab.com/ee/install/docker.html#upgrade

 

GitLab Docker images | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

이곳에 도커 사용자를 위한 업데이트 방법이 안내되어 있습니다.

 

docker exec -t <container name> gitlab-backup create

일단 백업을 합니다.

위 명령을 통해 백업을 하면 CONTAINER_PATH/data/backups 폴더에 백업된 tar 파일이 생성됩니다.

 

그래도 혹시 몰라 저는 CONTAINER_PATH 폴더를 통으로 gzip 백업 하였습니다.

 

그래도 혹시 몰라 저는 현재 작동중인 컨테이너를 image로 만들어서 백업하였습니다.

docker commit -p [CONTAINER ID] [NAMES]

 

 

https://docs.gitlab.com/ee/update/index.html#upgrading-to-a-new-major-version

 

Upgrading GitLab | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

이곳에서 업데이트 안내 가이드를 봤습니다.

마구잡이로 업데이트를 하면 안되겠군요 특히나 major 버전업데이트의 경우에는 더더욱 가이드를 잘 봐야할 것 같습니다.

 

업데이트를 위한 버전 path 가이드가 있네요

처음에 무턱대고 검색을 했을때도 path를 따라 진행해야한다고 하던데 path를 따라 진행해야할것 같습니다.

 

supported upgrade path 순서로 업데이트를 진행해야겠습니다.

14.6.1 -> 14.6.2 -> 14.9.5 -> 14.10.5 -> 15.0.2 -> 15.1.0 버전으로 진행하겠습니다!

 

먼저 14.6.2의 gitlab-ee docker image를 pull 합니다.

docker pull gitlab/gitlab-ee:14.6.2-ee.0

pull 했으면 기존에 작동중이던 gitlab container를 중지시킵니다.

docker stop 컨테이너이름

그리고 중지 시킨 container를 삭제합니다.

docker rm 컨테이너이름

아까 pull한 이미지를 가지고 컨테이너를 생성합니다. (14.6.2 버전 컨테이너 생성)

docker run -td \
--hostname 사이트주소 \
--publish 443:443 --publish 80:80 \
--name 컨테이너이름 \
--restart always \
--volume CONTAINER_PATH/config:/etc/gitlab \
--volume CONTAINER_PATH/logs:/var/log/gitlab \
--volume CONTAINER_PATH/data:/var/opt/gitlab \
gitlab/gitlab-ee:14.6.2-ee.0

docker ps 명령으로 status가 healty인지 확인합니다. (서버 환경이 좋진 않아서 좀 오래걸리네요..)

14.6.2 버전으로 업데이트 되었습니다. 이제 14.9.5 버전으로 넘어가봅시다!

14.6.2 버전의 컨테이너를 중지 및 삭제하고 14.9.5 버전 이미지를 다운로드합시다.

docker stop 컨테이너이름
docker rm 컨테이너이름
docker pull gitlab/gitlab-ee:14.9.5-ee.0

 

다운로드가 완료되면 14.6.2버전의 이미지를 지웁시다.

docker image ls
docker rmi gitlab/gitlab-ee:14.6.2-ee.0

 

14.9.5 버전 이미지 다운로드가 완료되면 14.6.2 버전 당시 컨테이너 생성 명령에서

14.6.2 대신 14.9.5로 변경 후 다시 docker run을 다시 실행합니다.

 

docker logs -f 컨테이너이름

명령으로 에러가 없는지 그냥 확인해봅니다...

 

docker ps 명령으로 다시 healty를 확인하면 gitlab에 접속하여 확인해봅니다.

 

이제 붉은배경의 update asap가 사라졌습니다.

하지만 아직 업데이트를 더 해야하므로 계속 진행해봅시다.

 

이제 14.10.5 ,15.0.2, 15.1.0 남았습니다..

위와 마찬가지로 버전만 바꿔가며 계속 반복 진행합니다.

 

각 버전별 업데이트 완료 후 버전 캡쳐화면으로 대체합니다..!

 

14.10.5 업데이트 완료

 

 

15.0.2 업데이트 (다시생긴 asap..)

 

 

15.1.0도 asap..

 

글 작성일 기준 15.6.2가 docker에서는 가장 최신인것 같아서 15.6.2 까지 가봅시다..!

 

15.4.0도 asap는 사라지지 않는다

 

15.6.2에서 드디어 사라진 asap! 당연히 사라져야지 3일전에 release 된건데..

15.6.2 버전까지 업데이트 완료하였습니다..!