앱 플랫폼: 미리 빌드된 컨테이너 이미지를 푸시로 자동 배포
Note: this feature is not supported for DockerHub.
자동 배포 작동 방식
앱 플랫폼의 DOCR 이미지 구성 요소에 대해 자동 배포가 활성화되면 컨테이너 레지스트리가 모니터링되고 새 이미지 푸시 앱 플랫폼에서 대상 태그에 대한 이미지 다이제스트를 확인하고 새 이미지가 배포되는 가장 최근에 배포된 버전과 다른 경우 확인합니다.
즉, 태그를 푸시할 때 해당 이미지의 최신 버전을 나타내는 설명 태그를 사용하고 싶을 것입니다. 예를 들어
production
, staging
, dev
가 일반적입니다.자동 배포 활성화
UI: 생성 중
앱 또는 구성 요소를 생성할 때 DOCR 리포지토리 및 이미지를 선택한 다음
Autodeploy
확인란을 선택합니다.UI: 기존 이미지 구성요소
이미 배포된 DOCR 이미지가 있는 경우 해당 구성 요소의 설정에서 자동 배포를 활성화할 수 있습니다.
앱 사양: 사양 내에서 활성화
고급 사용자의 경우 자동 배포를 활성화하는 것은 기존 이미지 사양에 작은 yaml 구조를 추가하는 것만큼 쉽습니다.
deploy_on_push:
enabled: true
예를 들어:
name: docr-autodeploy-example
region: ams
services:
- http_port: 8080
image:
deploy_on_push:
enabled: true
registry_type: DOCR
repository: go-info-webserver
tag: latest
instance_count: 1
instance_size_slug: basic-xxs
name: go-info-webserver
routes:
- path: /
GitHub Actions 예시
GitHub Actions의 팬으로서 다음을 수행하는 간단한 워크플로가 있습니다.
latest
latest
이미지 태그를 대상으로 하는 위의 앱 사양과 함께 기본 이미지가 변경되면(다이제스트 확인을 통해) 새 이미지가 배포됩니다. 다이제스트가 변경되지 않은 경우 배포가 발생하지 않습니다.name: Push Docker Image to DOCR
on:
push:
branches: ["master"]
env:
REGISTRY: "registry.digitalocean.com/jon"
IMAGE_NAME: "go-info-webserver"
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build the Docker image
run: docker build --file docker/Dockerfile --tag $(echo $REGISTRY)/$(echo $IMAGE_NAME):$(echo $GITHUB_SHA | head -c7) --tag $(echo $REGISTRY)/$(echo $IMAGE_NAME):latest .
- name: Install doctl
uses: digitalocean/action-doctl@v2
with:
token: ${{ secrets.DIGITALOCEAN_ACCESS_TOKEN }}
- name: Auth with DOCR
run: doctl registry login --expiry-seconds 1000
- name: Push image to DOCR
run: docker push $(echo $REGISTRY)/$(echo $IMAGE_NAME) --all-tags
When an image is pushed to a registry with a tag that has already been used, the new image will take that tag, untagging the old image.
Reference
이 문제에 관하여(앱 플랫폼: 미리 빌드된 컨테이너 이미지를 푸시로 자동 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jonfriesen/app-platform-automatically-deploy-pre-built-container-images-on-push-43lp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)