iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
DevOps

CI/CD系列 第 24

Day24:容器映像庫

  • 分享至 

  • xImage
  •  

這是一個簡單的容器映象化舉例然後把它推上去:

CI/CD中的容器影像庫:

  • 在 CI/CD 模擬中,通常會有一個建置階段,該階段負責將原始程式碼建置成容器鏡像。
    建置後,貨櫃形象會被集體到指定的貨櫃形象庫。
    配置階段會從容器映像庫中取得所需的容器映像來執行應用程式。
    安全性和權限控制:

  • 容器鏡像庫通常提供安全性和權限控制機制,以確保只有授權的使用者才能存取和管理鏡像。
    這些機制包括存取權杖、身份驗證、角色和權限管理等。
    自動化和版本控制:

CI/CD鏡像通常會自動化容器鏡像的建置和主體流程,並在容器鏡像庫中建立不同版本的鏡像,以便進行版本控制

build-image:
  tags:
    - macos
  stage: build
  image : docker
  variables:
    # using "docker" as the host is only possible if you alias the service below
    # DOCKER_HOST: tcp://docker:2375 
    # could be wrong here but although Docker defaults to overlay2, 
    # Docker-in-Docker (DIND) does not according to the following GitLab doc: 
    # https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#use-the-overlayfs-driver
    # DOCKER_DRIVER: overlay2
    # DOCKER_TLS_CERTDIR: ""
  # services:
    # - name: docker:dind
      # alias: docker
      # command: ["--tls=false"]
  before_script:
    # - docker info
    # - echo "${CI_REGISTRY_PASSWORD}" | docker login -u "${CI_REGISTRY_USER}" --password-stdin "${CI_REGISTRY}"
    - docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
  script:
    - echo "build start"
    - docker build .
      --tag ${CI_REGISTRY_IMAGE}:$IMAGE_VERSION
    - echo $CI_REGISTRY_USER ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} ${CI_REGISTRY_IMAGE}
      # --tag ${CI_REGISTRY_IMAGE}:$BUILD_VERSION
    # # - export DOCKER_HOST=tcp://127.0.0.1:2375
    - echo "docker build finished"
    - echo "docker push started"
    - docker push ${CI_REGISTRY_IMAGE}
    - echo "docker push finished"


上一篇
Day23:包裝docker_image
下一篇
Day25:自動遞增 Image 版號
系列文
CI/CD30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言