Seihon

A simple tool to publish multi-arch images on the Docker Hub.

Installation

Download / CI Integration

curl -sfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | bash -s -- -b $GOPATH/bin v0.5.1

From a package manager

yay -S seihon
brew tap ldez/tap
brew update
brew install seihon

From Binaries

You can use pre-compiled binaries:

  • To get the binary just download the latest release for your OS/Arch from the releases page
  • Unzip the archive.
  • Add seihon in your PATH.

Tips

  • GitHub Actions:
name: Example

# ...

jobs:

  main:
    # ...
    env:
      # ...
      SEIHON_VERSION: v0.7.1

    steps:
      # ...
      
      # Install Docker image multi-arch builder
      - name: Install Seihon ${{ env.SEIHON_VERSION }}
        #if: startsWith(github.ref, 'refs/tags/v')
        run: |
          curl -sSfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | sh -s -- -b $(go env GOPATH)/bin ${SEIHON_VERSION}
          seihon --version

      - name: Publish Docker Images (Seihon)
        #if: startsWith(github.ref, 'refs/tags/v')
        run: make publish-images
  • Travis CI:
before_deploy:
  # Install Docker image multi-arch builder
  - curl -sfL https://raw.githubusercontent.com/ldez/seihon/master/godownloader.sh | bash -s -- -b $(go env GOPATH)/bin ${SEIHON_VERSION}
  - seihon --version
  # Add QEMU only for some specific cases.
  - docker run --rm --privileged hypriot/qemu-register

deploy:
  - provider: script
    skip_cleanup: true
    script: seihon publish <your configuration>
    on:
      tags: true

GitHub