Github 액션으로 Docker 이미지 관리를 마스터 링 : 포괄적 인 가이드
수동 프로세스 :
리포지토리에서
요금 제한 : 다른 플랫폼에서 컨테이너 이미지 호환성 보장
추가 읽기
2 단계 : 안전한 비밀 관리
설정 & gt로 이동; 비밀과 변수 & gt; 행동 및 다음과 같은 비밀을 추가하십시오
4 단계 : 캐싱으로 빌드 속도를 최적화합니다
DOCKER_USERNAME
DOCKER_PASSWORD
GHCR의 경우 비밀이 자동으로 제공되고 저장소에 스코핑됩니다.
3 단계 : 강력한 태깅 전략 구현
인증 문제 : 비밀과 범위를 확인하십시오. GHCR의 경우 에 올바른 권한이 있는지 확인하십시오
GITHUB_SHA
더 높은 한도 또는 조직 전체의 Docker Hub 계정이있는 PAT (Personal Access Tokens)
큰 이미지 크기 : GITHUB_REF
다단계 빌드, 최소 기본 이미지 (알파인)를 사용하여 Dockerfiles를 최적화하고 불필요한 종속성 제거.
디버깅 : 세부 로깅을위한 저장소 비밀에서 <code class="language-yaml">name: Build and Push Docker Image
on:
push:
branches:
- main
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Log in to GitHub Container Registry
# Securely authenticate with GHCR
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Build Docker Image
# Build with 'latest' tag
run: docker build -t ghcr.io/${{ github.repository }}/app:latest .
- name: Push Docker Image to GHCR
run: docker push ghcr.io/${{ github.repository }}/app:latest</code>
미래 추세 탐색
소프트웨어 재료 청구서 (SBOM) :
Syft 및 Trivy와 같은 도구 SBOM을 생성하여 공급망 보안을 향상시킵니다.
OCI 준수 : <code class="language-yaml">- name: Build Docker Image with Tags
# Tag with 'latest' and unique commit SHA
run: |
IMAGE_NAME=ghcr.io/${{ github.repository }}/app
docker build -t $IMAGE_NAME:latest -t $IMAGE_NAME:${{ github.sha }} .
- name: Push Docker Images with Tags
run: |
docker push ghcr.io/${{ github.repository }}/app:latest
docker push ghcr.io/${{ github.repository }}/app:${{ github.sha }}</code>
드리프트 및 일관성 감소를위한 컨테이너화 된 배치
syft -sbom 생성
Trivy- 보안 스캔
위 내용은 GitHub 동작 및 컨테이너 레지스트리로 Docker 이미지 관리 마스터의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!