Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

단지 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에 모두진행할수도 있습니다.