Skip to main content

2 postingan ditandai dengan "Docker"

Lihat Semua Tag

GitHub Actions for Easy ARM64 and AMD64 Docker Image Builds

· Waktu baca 15 menit
Agastya Darma Laksana
Software Engineer

In today's rapidly evolving software development landscape, the ability to efficiently build and deploy applications across diverse architectures is crucial. This article will explore an advanced yet accessible approach to creating multi-architecture Docker images, specifically for ARM64 and AMD64 platforms, using GitHub Actions. We will dissect a YAML configuration for a GitHub Actions workflow named 'Deploy Production,' illustrating how to automate the building and pushing of Docker images to Docker Hub.

Our focus will be on leveraging the capabilities of GitHub Actions, including setup of QEMU for emulation and Docker Buildx for building images, along with caching strategies and security practices for Docker Hub integration. This guide aims to equip developers with the knowledge and tools needed to streamline their CI/CD pipelines, ensuring seamless deployment across varied computing environments.

name: Deploy Production
on:
workflow_dispatch:
jobs:
build-and-push-docker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
tags: agasdrm/blog:latest,agasdrm/blog:${{ github.run_number }}
platforms: linux/amd64,linux/arm64/v8
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache

From Cloud to Couch, My Blog's Quirky Journey Home

· Waktu baca 5 menit
Agastya Darma Laksana
Software Engineer

Selamat datang di perjalanan digital terbaru saya – sebuah kisah yang menggabungkan teknologi dan humor, serta sepenuhnya berdasarkan kenyataan. Saya ingin berbagi tentang bagaimana blog saya, yang sebelumnya hanya merupakan bagian kecil dari awan digital yang luas, akhirnya berpindah ke lingkungan yang lebih hangat di rumah saya sendiri. Benar, Anda tidak salah membaca. Blog saya sekarang dihosting pada server Raspberry Pi 4, yang berada langsung di bawah atap rumah saya. Mari kita ikuti bersama perjalanan menarik ini