build sources for container to provide an build environment for go and rust projects https://hub.docker.com/r/volkerraschek/build-image/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Markus Pesch 6755685f89
feat: add ssh and vim, make scp possible
1 day ago
installation-scripts fix: import own certificate 2 months ago
.drone.yml chore(deps): update dependency docker.io/volkerraschek/markdownlint to v0.33.0 4 weeks ago
.editorconfig add: travis pipeline 4 years ago
.gitattributes add: travis pipeline 4 years ago
.gitignore fix: makepkg, build user 10 months ago
.markdownlint.yaml fix: update ci 1 year ago
Dockerfile feat: add ssh and vim, make scp possible 1 day ago
LICENSE fix(LICENSE): publish build-image under apache 2.0 license 4 years ago
Makefile fix: remove docker-pushrm 1 year ago
README.md fix: makepkg, build user 10 months ago
entrypoint.sh feat: add ssh and vim, make scp possible 1 day ago
manifest.tmpl fix(ci): build image via docker plugin 1 year ago
renovate.json fix(ci): add package rules 1 year ago

README.md

build-image

Build Status Docker Pulls

This project contains all sources to build the container image docker.io/volkerraschek/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 <hugo.mckinnock@example.local>" 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 \
    volkerraschek/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 <max.mustermann@example.com" \
    --rm \
    --volume ${PWD}:/workspace \
    volkerraschek/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 \
    volkerraschek/build-image:latest \
      cargo build --release