Sign inSign up

volkerraschek/build-image

By volkerraschek

•Updated 13 days ago

Image
0

3.7K

volkerraschek/build-image repository overview

⁠build-image

Docker Pulls

This project contains all sources to build the container image git.cryptic.systems/volker.raschek/build-image. The primary goal of the image is only to provide an environment to compile source code for go or rust and package compiled binaries as PKG for Arch Linux or as RPM for RHEL based distributions.

⁠Supported environment variables

⁠gnupg
⁠GNUPG_KEY

Import private gpg key via GPG_KEY. The private key must be escaped to import the key inside the container image correctly. For example:

GPG_FPR=YOUR_GPG_FINGERPRINT
GPG_KEY=$(gpg --armor --export-secret-keys ${GPG_FPR} | cat -e | sed -e 's/\$/\\n/g' -e 's/^[ \t]*//g')
⁠makepkg

The makepkg.conf configuration is composed from the environment variables with the prefix MAKEPKG_. Below are some examples:

MAKEPKG_PACKAGER="Hugo McKinnock <[email protected]>" MAKEPKG_GPGKEY="0123456789" MAKEPKG_PKGEXT=.pkg.tar.zst"

⁠ssh
⁠SSH_KEY

Import private ssh key via SSH_KEY. The private key must be escaped to import the key inside the container image correctly. For example:

SSH_KEY=$(cat -e ${HOME}/.ssh/id_rsa | sed -e 's/\$/\\n/g')

⁠Usage

⁠golang

To use this image for building golang applications execute this in your root folder of your go project.

$ docker run \
    --rm \
    --volume ${PWD}:/workspace \
    git.cryptic.systems/volker.raschek/build-image:latest \
      go build
⁠makepkg

With the following example will be an package be build for Arch Linux. Execute the commond in the root directory of the project, where the PKGBUILD file is located.

$ docker run \
    --env MAKEPKG_PACKAGER="Max Mustermann <[email protected]" \
    --rm \
    --volume ${PWD}:/workspace \
    git.cryptic.systems/volker.raschek/build-image:latest \
      makepkg
⁠rust

If you want to compile instead go rust sourcecode, than you can do it similar to the golang example.

$ docker run \
    --rm \
    --volume ${PWD}:/workspace \
    git.cryptic.systems/volker.raschek/build-image:latest \
      cargo build --release

Tag summary

Content type

Image

Digest

sha256:428c7c12b…

Size

999.5 MB

Last updated

over 3 years ago

docker pull volkerraschek/build-image