sss
This commit is contained in:
parent
79d41a9020
commit
527b297fa1
2 changed files with 19 additions and 5 deletions
|
@ -12,7 +12,7 @@ steps:
|
||||||
pull: true
|
pull: true
|
||||||
settings: &settings
|
settings: &settings
|
||||||
name: registry.kokuwa.io/buildctl:$CI_PIPELINE_NUMBER
|
name: registry.kokuwa.io/buildctl:$CI_PIPELINE_NUMBER
|
||||||
auth1: {from_secret: AUTH}
|
auth: {from_secret: AUTH}
|
||||||
platform: [linux/amd64, linux/arm64]
|
platform: [linux/amd64, linux/arm64]
|
||||||
annotation:
|
annotation:
|
||||||
org.opencontainers.image.title: Buildctl Plugin
|
org.opencontainers.image.title: Buildctl Plugin
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -exu;
|
set -exu;
|
||||||
env | sort | grep -v DRONE
|
env | sort | grep -v DRONE
|
||||||
|
echo $PLUGIN_ARCH | base64 -w0
|
||||||
##
|
##
|
||||||
## check input
|
## check input
|
||||||
##
|
##
|
||||||
|
@ -24,10 +24,10 @@ SOURCE_DATE_EPOCH=${PLUGIN_SOURCE_DATE_EPOCH:-0}
|
||||||
##
|
##
|
||||||
|
|
||||||
COMMAND="buildctl"
|
COMMAND="buildctl"
|
||||||
|
COMMAND="$COMMAND build"
|
||||||
if [[ -n "${PLUGIN_ADDR:-}" ]]; then
|
if [[ -n "${PLUGIN_ADDR:-}" ]]; then
|
||||||
COMMAND="$COMMAND --addr $PLUGIN_ADDR"
|
COMMAND="$COMMAND --addr $PLUGIN_ADDR"
|
||||||
fi
|
fi
|
||||||
COMMAND="$COMMAND build"
|
|
||||||
COMMAND="$COMMAND --frontend $BUILDCTL_FRONTEND"
|
COMMAND="$COMMAND --frontend $BUILDCTL_FRONTEND"
|
||||||
COMMAND="$COMMAND --local context='$BUILDCTL_CONTEXT'"
|
COMMAND="$COMMAND --local context='$BUILDCTL_CONTEXT'"
|
||||||
COMMAND="$COMMAND --local dockerfile='$BUILDCTL_DOCKERFILE'"
|
COMMAND="$COMMAND --local dockerfile='$BUILDCTL_DOCKERFILE'"
|
||||||
|
@ -35,9 +35,17 @@ if [[ "${PLUGIN_PLATFORM:-}" == "true" ]]; then
|
||||||
COMMAND="$COMMAND --opt platform='$PLUGIN_PLATFORM'"
|
COMMAND="$COMMAND --opt platform='$PLUGIN_PLATFORM'"
|
||||||
fi
|
fi
|
||||||
# https://github.com/moby/buildkit/blob/master/README.md#output
|
# https://github.com/moby/buildkit/blob/master/README.md#output
|
||||||
if [[ -n "${PLUGIN_NAME:-}" ]]; then
|
OUTPUT=""
|
||||||
COMMAND="$COMMAND --output type=image,name=$PLUGIN_NAMES,push=${PLUGIN_PUSH:-true}"
|
if [[ "${PLUGIN_NAME:-}" == "true" ]]; then
|
||||||
|
OUTPUT="$OUTPUT --output type=image,\"name=$PLUGIN_NAME\",push=${PLUGIN_PUSH:-true},oci-mediatypes=true,oci-artifact=true,compression=estargz"
|
||||||
|
OUTPUT="$OUTPUT,oci-mediatypes=true,oci-artifact=true,compression=estargz,compression-level=9"
|
||||||
|
OUTPUT="$OUTPUT,rewrite-timestamp=true"
|
||||||
|
export IFS=";"
|
||||||
|
for PLUGIN_ANNOTATION_ITEM in "${PLUGIN_ANNOTATION:-}"; do
|
||||||
|
OUTPUT="$OUTPUT,annotation.$PLUGIN_ANNOTATION_ITEM"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
COMMAND="$COMMAND $OUTPUT"
|
||||||
|
|
||||||
# custom args, e.g. docker run --rm --volume=$HOME:HOME:ro --workdir=$PWD kokuwaio/buildkit --opt buildarg=foo=bar
|
# custom args, e.g. docker run --rm --volume=$HOME:HOME:ro --workdir=$PWD kokuwaio/buildkit --opt buildarg=foo=bar
|
||||||
if [[ -n "${1:-}" ]]; then
|
if [[ -n "${1:-}" ]]; then
|
||||||
|
@ -48,6 +56,12 @@ fi
|
||||||
## execute command
|
## execute command
|
||||||
##
|
##
|
||||||
|
|
||||||
|
echo "SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH docker buildx build ${PLUGIN_CONTEXT:-.}"
|
||||||
|
if [[ "${PLUGIN_PLATFORM:-}" == "true" ]]; then
|
||||||
|
echo " --platform='$PLUGIN_PLATFORM'"
|
||||||
|
echo " $OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
echo -e "SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH ${COMMAND// --/\\n --}\n"
|
echo -e "SOURCE_DATE_EPOCH=$SOURCE_DATE_EPOCH ${COMMAND// --/\\n --}\n"
|
||||||
eval "$COMMAND"
|
eval "$COMMAND"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue