Page History
...
단지 3가지 사용만으로 심플하고 강력한 배포 파이프라인을 사용할수 있게됩니다.
사설 도커 저장소 만들기
...
도커허브및 깃헙패키기 또는 AWS의 ECR을 통해 빌드된 도커저장소를 배포하여 이용할수 있지만
사설 도커레지스트리 자체를 등록하여 용량에따른 비용제약없이 이용가능합니다.
Code Block |
---|
version: '2'
services:
registry:
restart: always
image: registry:2
ports:
- 5000:5000
environment:
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
volumes:
- /opt/registry/data:/var/lib/registry
- /opt/registry/certs:/certs
- /opt/registry/auth:/auth
labels:
io.rancher.scheduler.affinity:host_label: server_name=main
io.rancher.container.hostname_override: container_name
|
docker run --rm --entrypoint htpasswd httpd:2 -Bbn testuser testpassword | Set-Content -Encoding ASCII auth/htpasswd
# BasicAuth 생성
docker run \
--entrypoint htpasswd \
httpd:2 -Bbn 아이디 패스워드 > /opt/registry/auth
CI/CD
...
지속 빌드및 배포는 결국 다음 사이클이 반복
- 1.빌드 : 도커빌드(docker build)
- 2.빌드배포 : 도커빌드 배포(docker push)
- 3.도커Pull : 구동 서버에서 (docker pull )
- 4.도커Run : 구동 서버에서 (docker run )
1~2의 과정은 Github 액션에 등록하고, 3~4의 과정은 Rancher에서 수행(API제공) 할수 있다.
Github에서 배포도 가능하지만 빌드배포의 책임만 수행하고, Rancher에서 배포트리거를 분리해서 관리할수 있으며
Rancher의 API를 이용해 Github에 모두진행할수도 있습니다.