- Đăng vào
GitHub Actions build và push Docker image lên ghcr.io
Giới thiệu
GitHub Actions là một công cụ mạnh mẽ giúp tự động hóa quy trình phát triển phần mềm, bao gồm cả việc build và deploy Docker image. Với GitHub Container Registry (GHCR), bạn có thể lưu trữ và quản lý các Docker image một cách dễ dàng ngay trong hệ sinh thái GitHub.
Trong bài viết này, mình sẽ hướng dẫn bạn cách thiết lập một workflow GitHub Actions để tự động build Docker image và đẩy lên GHCR, giúp tối ưu hóa quy trình CI/CD của dự án. Cùng bắt đầu nhé! 🚀
Triển khai
docker.yaml
name: "Build and Push Docker Image"
on:
push:
branches:
- main
jobs:
build-docker:
permissions:
contents: read
packages: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository_owner }}/my-image
tags: |
type=raw,value=latest,enable={{is_default_branch}}
type=ref,event=branch
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build push docker image
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
Demo
Chúc thành công,
ANH NGUYỄN
Hiện tại mình đang tìm kiếm công việc mới với nhiều thử thách để chinh phục.
Mọi thông tin có thể gửi về me@nvtienanh.info.