You've already forked build-image
Compare commits
69 Commits
Author | SHA1 | Date | |
---|---|---|---|
ea5d986ea6
|
|||
7241cc523f
|
|||
e044ad3daf
|
|||
96422feb53
|
|||
191d8e99f3
|
|||
6ebfca1f92
|
|||
af18e4012a
|
|||
c970ca376e
|
|||
7d0930fc24
|
|||
ba690e3fc6
|
|||
03895de0e0
|
|||
26128acafd
|
|||
d4d14aace7
|
|||
d7462bfd36
|
|||
9102653939
|
|||
614bc5c52f
|
|||
01907606ce
|
|||
d7491888c6
|
|||
8cb74a3152
|
|||
ad4317cf0e
|
|||
a7aaa7b100
|
|||
ab76d2e80c
|
|||
2bc7928a99
|
|||
8261cefaf1
|
|||
ea552ae0cb
|
|||
969ebe7f83
|
|||
5e6f033398
|
|||
4bd01c4c66
|
|||
f4099d1476
|
|||
a1d8fe227c
|
|||
4eae4680c6
|
|||
13081a41cc
|
|||
4576b7c8c1
|
|||
1ae6b75ee6
|
|||
9ff52d9607
|
|||
bd7cba8651
|
|||
d5e5b6db55
|
|||
03c7386e00
|
|||
7f7cfcdcda
|
|||
53ad08aabd
|
|||
b96bf9da2e
|
|||
7525f7b431
|
|||
868f202c91
|
|||
83df321204
|
|||
cbdd6227eb
|
|||
a25147746c | |||
74d87bc20a
|
|||
991b2d51d9
|
|||
bff3f0864c | |||
033751b0b5 | |||
85d86a2f75 | |||
3d4a9eda14 | |||
1744831564
|
|||
765a7ecd59 | |||
9532212c29 | |||
6e49477f18 | |||
fae5d001ae | |||
673e64b5c6 | |||
567042d30d | |||
450b5ceeb3 | |||
0b538ca704 | |||
1a1b5742be
|
|||
e5f7741027
|
|||
8b34224735
|
|||
2d3a7ee939
|
|||
4638c6d3db
|
|||
72c6f89704
|
|||
ceef088bc7
|
|||
a592b8220d
|
307
.drone.yml
307
.drone.yml
@ -1,307 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: linter
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: markdown lint
|
|
||||||
commands:
|
|
||||||
- markdownlint *.md
|
|
||||||
image: docker.io/volkerraschek/markdownlint:0.33.0
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
SMTP_FROM_ADDRESS:
|
|
||||||
from_secret: smtp_from_address
|
|
||||||
SMTP_FROM_NAME:
|
|
||||||
from_secret: smtp_from_name
|
|
||||||
SMTP_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
SMTP_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
SMTP_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
exclude:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: dry-run-amd64
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linter
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: false
|
|
||||||
dry_run: true
|
|
||||||
tags: latest-amd64
|
|
||||||
repo: volkerraschek/build-image
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
no_cache: true
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
SMTP_FROM_ADDRESS:
|
|
||||||
from_secret: smtp_from_address
|
|
||||||
SMTP_FROM_NAME:
|
|
||||||
from_secret: smtp_from_name
|
|
||||||
SMTP_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
SMTP_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
SMTP_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
exclude:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/build-image
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: latest-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: false
|
|
||||||
tags: latest-amd64
|
|
||||||
repo: volkerraschek/build-image
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
no_cache: true
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
SMTP_FROM_ADDRESS:
|
|
||||||
from_secret: smtp_from_address
|
|
||||||
SMTP_FROM_NAME:
|
|
||||||
from_secret: smtp_from_name
|
|
||||||
SMTP_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
SMTP_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
SMTP_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- linter
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/build-image
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: latest-manifest
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- latest-amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-manifest
|
|
||||||
image: docker.io/plugins/manifest:latest
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
settings:
|
|
||||||
auto_tag: false
|
|
||||||
ignore_missing: true
|
|
||||||
spec: manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
SMTP_FROM_ADDRESS:
|
|
||||||
from_secret: smtp_from_address
|
|
||||||
SMTP_FROM_NAME:
|
|
||||||
from_secret: smtp_from_name
|
|
||||||
SMTP_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
SMTP_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
SMTP_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
event:
|
|
||||||
- cron
|
|
||||||
- push
|
|
||||||
repo:
|
|
||||||
- volker.raschek/build-image
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: tagged-amd64
|
|
||||||
|
|
||||||
platform:
|
|
||||||
os: linux
|
|
||||||
arch: amd64
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: docker.io/plugins/docker:latest
|
|
||||||
settings:
|
|
||||||
dockerfile: Dockerfile
|
|
||||||
auto_tag: true
|
|
||||||
auto_tag_suffix: amd64
|
|
||||||
repo: volkerraschek/build-image
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
no_cache: true
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
SMTP_FROM_ADDRESS:
|
|
||||||
from_secret: smtp_from_address
|
|
||||||
SMTP_FROM_NAME:
|
|
||||||
from_secret: smtp_from_name
|
|
||||||
SMTP_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
SMTP_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
SMTP_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
repo:
|
|
||||||
- volker.raschek/build-image
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: tagged-manifest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: build-manifest
|
|
||||||
image: docker.io/plugins/manifest:latest
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
settings:
|
|
||||||
auto_tag: true
|
|
||||||
ignore_missing: true
|
|
||||||
spec: manifest.tmpl
|
|
||||||
username:
|
|
||||||
from_secret: container_image_registry_user
|
|
||||||
password:
|
|
||||||
from_secret: container_image_registry_password
|
|
||||||
|
|
||||||
- name: email-notification
|
|
||||||
environment:
|
|
||||||
SMTP_FROM_ADDRESS:
|
|
||||||
from_secret: smtp_from_address
|
|
||||||
SMTP_FROM_NAME:
|
|
||||||
from_secret: smtp_from_name
|
|
||||||
SMTP_HOST:
|
|
||||||
from_secret: smtp_host
|
|
||||||
SMTP_USERNAME:
|
|
||||||
from_secret: smtp_username
|
|
||||||
SMTP_PASSWORD:
|
|
||||||
from_secret: smtp_password
|
|
||||||
image: docker.io/volkerraschek/drone-email:0.1.1
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 150
|
|
||||||
memory: 150M
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- changed
|
|
||||||
- failure
|
|
||||||
|
|
||||||
depends_on:
|
|
||||||
- tagged-amd64
|
|
||||||
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
repo:
|
|
||||||
- volker.raschek/build-image
|
|
22
.gitea/workflows/markdown-linters.yaml
Normal file
22
.gitea/workflows/markdown-linters.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: 'Lint Markdown files'
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
- synchronize
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
markdown-lint:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: DavidAnson/markdownlint-cli2-action@v20.0.0
|
||||||
|
with:
|
||||||
|
globs: '**/*.md'
|
52
.gitea/workflows/release.yaml
Normal file
52
.gitea/workflows/release.yaml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
name: Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
push-amd64:
|
||||||
|
runs-on: ubuntu-latest-amd64
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: docker/setup-qemu-action@v3.6.0
|
||||||
|
- uses: docker/setup-buildx-action@v3.11.1
|
||||||
|
|
||||||
|
- uses: docker/login-action@v3.4.0
|
||||||
|
with:
|
||||||
|
registry: git.cryptic.systems
|
||||||
|
username: ${{ github.repository_owner }}
|
||||||
|
password: ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push image
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
docker buildx build \
|
||||||
|
--file Dockerfile \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--provenance false \
|
||||||
|
--push \
|
||||||
|
--tag git.cryptic.systems/volker.raschek/build-image:${TAG} \
|
||||||
|
.
|
||||||
|
|
||||||
|
sync-to-hub-docker-io:
|
||||||
|
needs:
|
||||||
|
- push-manifest
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Copy images to docker.io
|
||||||
|
run: |
|
||||||
|
TAG=$(echo ${{ github.ref_name }} | sed 's/v//gm')
|
||||||
|
|
||||||
|
apt-get update --yes
|
||||||
|
apt-get install --yes skopeo
|
||||||
|
skopeo copy \
|
||||||
|
--all \
|
||||||
|
--dest-password ${{ secrets.DOCKER_IO_PASSWORD }} \
|
||||||
|
--dest-username ${{ secrets.DOCKER_IO_USERNAME }} \
|
||||||
|
--src-password ${{ secrets.GIT_CRYPTIC_SYSTEMS_PACKAGE_REGISTRY_TOKEN }} \
|
||||||
|
--src-username volker.raschek \
|
||||||
|
docker://git.cryptic.systems/volker.raschek/build-image:${TAG} \
|
||||||
|
docker://docker.io/volkerraschek/build-image:${TAG}
|
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
22
.gitea/workflows/update-docker-hub-description.yaml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
name: Update Docker Hub Description
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
paths:
|
||||||
|
- README.md
|
||||||
|
workflow_dispatch: {}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-description-on-hub-docker-io:
|
||||||
|
runs-on:
|
||||||
|
- ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4.2.2
|
||||||
|
- uses: peter-evans/dockerhub-description@v4.0.2
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_IO_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_IO_PASSWORD }}
|
||||||
|
repository: volkerraschek/build-image
|
||||||
|
readme-filepath: README.md
|
@ -45,19 +45,17 @@ MD012:
|
|||||||
# MD013/line-length - Line length
|
# MD013/line-length - Line length
|
||||||
MD013:
|
MD013:
|
||||||
# Number of characters
|
# Number of characters
|
||||||
line_length: 80
|
line_length: 120
|
||||||
# Number of characters for headings
|
# Number of characters for headings
|
||||||
heading_line_length: 80
|
heading_line_length: 120
|
||||||
# Number of characters for code blocks
|
# Number of characters for code blocks
|
||||||
code_block_line_length: 80
|
code_block_line_length: 120
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
# Include tables
|
# Include tables
|
||||||
tables: false
|
tables: false
|
||||||
# Include headings
|
# Include headings
|
||||||
headings: true
|
headings: true
|
||||||
# Include headings
|
|
||||||
headers: true
|
|
||||||
# Strict length checking
|
# Strict length checking
|
||||||
strict: false
|
strict: false
|
||||||
# Stern length checking
|
# Stern length checking
|
||||||
@ -70,10 +68,8 @@ MD022:
|
|||||||
# Blank lines below heading
|
# Blank lines below heading
|
||||||
lines_below: 1
|
lines_below: 1
|
||||||
|
|
||||||
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
|
||||||
MD024:
|
MD024:
|
||||||
# Only check sibling headings
|
siblings_only: true
|
||||||
allow_different_nesting: true
|
|
||||||
|
|
||||||
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
MD025:
|
MD025:
|
||||||
@ -129,7 +125,6 @@ MD041:
|
|||||||
MD044:
|
MD044:
|
||||||
# List of proper names
|
# List of proper names
|
||||||
names: []
|
names: []
|
||||||
# - some-thing
|
|
||||||
# Include code blocks
|
# Include code blocks
|
||||||
code_blocks: false
|
code_blocks: false
|
||||||
|
|
||||||
@ -141,4 +136,4 @@ MD046:
|
|||||||
# MD048/code-fence-style - Code fence style
|
# MD048/code-fence-style - Code fence style
|
||||||
MD048:
|
MD048:
|
||||||
# Code fence syle
|
# Code fence syle
|
||||||
style: "backtick"
|
style: "backtick"
|
||||||
|
@ -43,7 +43,8 @@ RUN sudo pacman --sync --refresh --noconfirm --sysupgrade \
|
|||||||
oracle-instantclient-sdk \
|
oracle-instantclient-sdk \
|
||||||
oracle-instantclient-sqlplus \
|
oracle-instantclient-sqlplus \
|
||||||
oracle-instantclient-tools \
|
oracle-instantclient-tools \
|
||||||
rpm-builder
|
rpm-builder && \
|
||||||
|
sudo rm --recursive --force /var/cache/pacman/pkg
|
||||||
|
|
||||||
RUN sudo mkdir /workspace && sudo chown ${BUILD_USER}:${BUILD_USER} /workspace
|
RUN sudo mkdir /workspace && sudo chown ${BUILD_USER}:${BUILD_USER} /workspace
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
|
25
Makefile
25
Makefile
@ -5,13 +5,18 @@ CONTAINER_RUNTIME?=$(shell which podman)
|
|||||||
|
|
||||||
# CONTAINER_IMAGE
|
# CONTAINER_IMAGE
|
||||||
# Defines the name of the new container to be built using several variables.
|
# Defines the name of the new container to be built using several variables.
|
||||||
BUILD_IMAGE_REGISTRY_HOST:=docker.io
|
BUILD_IMAGE_REGISTRY_HOST?=git.cryptic.systems
|
||||||
BUILD_IMAGE_REGISTRY_USER:=volkerraschek
|
BUILD_IMAGE_REGISTRY_USER?=volker.raschek
|
||||||
BUILD_IMAGE_NAMESPACE?=${BUILD_IMAGE_REGISTRY_USER}
|
BUILD_IMAGE_NAMESPACE?=${BUILD_IMAGE_REGISTRY_USER}
|
||||||
BUILD_IMAGE_REPOSITORY:=build-image
|
BUILD_IMAGE_REPOSITORY:=build-image
|
||||||
BUILD_IMAGE_VERSION?=latest
|
BUILD_IMAGE_VERSION?=latest
|
||||||
BUILD_IMAGE_FULLY_QUALIFIED=${BUILD_IMAGE_REGISTRY_HOST}/${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION}
|
BUILD_IMAGE_FULLY_QUALIFIED=${BUILD_IMAGE_REGISTRY_HOST}/${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION}
|
||||||
BUILD_IMAGE_UNQUALIFIED=${BUILD_IMAGE_NAMESPACE}/${BUILD_IMAGE_REPOSITORY}:${BUILD_IMAGE_VERSION}
|
|
||||||
|
# MARKDOWNLINT_IMAGE
|
||||||
|
MARKDOWNLINT_IMAGE_REGISTRY_HOST?=git.cryptic.systems
|
||||||
|
MARKDOWNLINT_IMAGE_REPOSITORY?=volker.raschek/markdownlint
|
||||||
|
MARKDOWNLINT_IMAGE_VERSION?=0.43.0 # renovate: datasource=docker registryUrl=https://git.cryptic.systems depName=volker.raschek/markdownlint
|
||||||
|
MARKDOWNLINT_IMAGE_FULLY_QUALIFIED=${MARKDOWNLINT_IMAGE_REGISTRY_HOST}/${MARKDOWNLINT_IMAGE_REPOSITORY}:${MARKDOWNLINT_IMAGE_VERSION}
|
||||||
|
|
||||||
# BUILD CONTAINER IMAGE
|
# BUILD CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
@ -22,15 +27,13 @@ container-image/build:
|
|||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
--tag ${BUILD_IMAGE_FULLY_QUALIFIED} \
|
--tag ${BUILD_IMAGE_FULLY_QUALIFIED} \
|
||||||
--tag ${BUILD_IMAGE_UNQUALIFIED} \
|
|
||||||
.
|
.
|
||||||
|
|
||||||
# DELETE CONTAINER IMAGE
|
# DELETE CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
PHONY:=container-image/delete
|
PHONY:=container-image/delete
|
||||||
container-image/delete:
|
container-image/delete:
|
||||||
- ${CONTAINER_RUNTIME} image rm ${BUILD_IMAGE_FULLY_QUALIFIED} ${BUILD_IMAGE_UNQUALIFIED}
|
- ${CONTAINER_RUNTIME} image rm ${BUILD_IMAGE_FULLY_QUALIFIED}
|
||||||
- ${CONTAINER_RUNTIME} image rm ${BASE_IMAGE_FULLY_QUALIFIED}
|
|
||||||
|
|
||||||
# PUSH CONTAINER IMAGE
|
# PUSH CONTAINER IMAGE
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
@ -39,6 +42,16 @@ container-image/push:
|
|||||||
echo ${BUILD_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${BUILD_IMAGE_REGISTRY_HOST} --username ${BUILD_IMAGE_REGISTRY_USER} --password-stdin
|
echo ${BUILD_IMAGE_REGISTRY_PASSWORD} | ${CONTAINER_RUNTIME} login ${BUILD_IMAGE_REGISTRY_HOST} --username ${BUILD_IMAGE_REGISTRY_USER} --password-stdin
|
||||||
${CONTAINER_RUNTIME} push ${BUILD_IMAGE_FULLY_QUALIFIED}
|
${CONTAINER_RUNTIME} push ${BUILD_IMAGE_FULLY_QUALIFIED}
|
||||||
|
|
||||||
|
# CONTAINER RUN - MARKDOWN-LINT
|
||||||
|
# ==============================================================================
|
||||||
|
PHONY+=container-run/markdown-lint
|
||||||
|
container-run/markdown-lint:
|
||||||
|
${CONTAINER_RUNTIME} run \
|
||||||
|
--rm \
|
||||||
|
--volume $(shell pwd):/work \
|
||||||
|
${MARKDOWNLINT_IMAGE_FULLY_QUALIFIED} \
|
||||||
|
*.md
|
||||||
|
|
||||||
# PHONY
|
# PHONY
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# Declare the contents of the PHONY variable as phony. We keep that information
|
# Declare the contents of the PHONY variable as phony. We keep that information
|
||||||
|
35
README.md
35
README.md
@ -1,11 +1,9 @@
|
|||||||
# build-image
|
# build-image
|
||||||
|
|
||||||
[](https://drone.cryptic.systems/volker.raschek/build-image)
|
|
||||||
[](https://hub.docker.com/r/volkerraschek/build-image)
|
[](https://hub.docker.com/r/volkerraschek/build-image)
|
||||||
|
|
||||||
This project contains all sources to build the container image
|
This project contains all sources to build the container image `git.cryptic.systems/volker.raschek/build-image`. The
|
||||||
`docker.io/volkerraschek/build-image`. The primary goal of the image is only to
|
primary goal of the image is only to provide an environment to compile source code for `go` or `rust` and package
|
||||||
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.
|
compiled binaries as PKG for Arch Linux or as RPM for RHEL based distributions.
|
||||||
|
|
||||||
## Supported environment variables
|
## Supported environment variables
|
||||||
@ -14,8 +12,8 @@ compiled binaries as PKG for Arch Linux or as RPM for RHEL based distributions.
|
|||||||
|
|
||||||
#### GNUPG_KEY
|
#### GNUPG_KEY
|
||||||
|
|
||||||
Import private gpg key via `GPG_KEY`. The private key must be escaped to import
|
Import private gpg key via `GPG_KEY`. The private key must be escaped to import the key inside the container image
|
||||||
the key inside the container image correctly. For example:
|
correctly. For example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
GPG_FPR=YOUR_GPG_FINGERPRINT
|
GPG_FPR=YOUR_GPG_FINGERPRINT
|
||||||
@ -24,8 +22,8 @@ GPG_KEY=$(gpg --armor --export-secret-keys ${GPG_FPR} | cat -e | sed -e 's/\$/\\
|
|||||||
|
|
||||||
### makepkg
|
### makepkg
|
||||||
|
|
||||||
The `makepkg.conf` configuration is composed from the environment variables with
|
The `makepkg.conf` configuration is composed from the environment variables with the prefix `MAKEPKG_`. Below are some
|
||||||
the prefix `MAKEPKG_`. Below are some examples:
|
examples:
|
||||||
|
|
||||||
`MAKEPKG_PACKAGER="Hugo McKinnock <hugo.mckinnock@example.local>"`
|
`MAKEPKG_PACKAGER="Hugo McKinnock <hugo.mckinnock@example.local>"`
|
||||||
`MAKEPKG_GPGKEY="0123456789"`
|
`MAKEPKG_GPGKEY="0123456789"`
|
||||||
@ -35,8 +33,8 @@ the prefix `MAKEPKG_`. Below are some examples:
|
|||||||
|
|
||||||
#### SSH_KEY
|
#### SSH_KEY
|
||||||
|
|
||||||
Import private ssh key via `SSH_KEY`. The private key must be escaped to import
|
Import private ssh key via `SSH_KEY`. The private key must be escaped to import the key inside the container image
|
||||||
the key inside the container image correctly. For example:
|
correctly. For example:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
SSH_KEY=$(cat -e ${HOME}/.ssh/id_rsa | sed -e 's/\$/\\n/g')
|
SSH_KEY=$(cat -e ${HOME}/.ssh/id_rsa | sed -e 's/\$/\\n/g')
|
||||||
@ -46,41 +44,38 @@ SSH_KEY=$(cat -e ${HOME}/.ssh/id_rsa | sed -e 's/\$/\\n/g')
|
|||||||
|
|
||||||
### golang
|
### golang
|
||||||
|
|
||||||
To use this image for building golang applications execute this in your root
|
To use this image for building golang applications execute this in your root folder of your go project.
|
||||||
folder of your go project.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run \
|
$ docker run \
|
||||||
--rm \
|
--rm \
|
||||||
--volume ${PWD}:/workspace \
|
--volume ${PWD}:/workspace \
|
||||||
volkerraschek/build-image:latest \
|
git.cryptic.systems/volker.raschek/build-image:latest \
|
||||||
go build
|
go build
|
||||||
```
|
```
|
||||||
|
|
||||||
### makepkg
|
### makepkg
|
||||||
|
|
||||||
With the following example will be an package be build for Arch Linux. Execute
|
With the following example will be an package be build for Arch Linux. Execute the commond in the root directory of the
|
||||||
the commond in the root directory of the project, where the `PKGBUILD` file is
|
project, where the `PKGBUILD` file is located.
|
||||||
located.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run \
|
$ docker run \
|
||||||
--env MAKEPKG_PACKAGER="Max Mustermann <max.mustermann@example.com" \
|
--env MAKEPKG_PACKAGER="Max Mustermann <max.mustermann@example.com" \
|
||||||
--rm \
|
--rm \
|
||||||
--volume ${PWD}:/workspace \
|
--volume ${PWD}:/workspace \
|
||||||
volkerraschek/build-image:latest \
|
git.cryptic.systems/volker.raschek/build-image:latest \
|
||||||
makepkg
|
makepkg
|
||||||
```
|
```
|
||||||
|
|
||||||
### rust
|
### rust
|
||||||
|
|
||||||
If you want to compile instead go rust sourcecode, than you can do it similar to
|
If you want to compile instead go rust sourcecode, than you can do it similar to the golang example.
|
||||||
the golang example.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run \
|
$ docker run \
|
||||||
--rm \
|
--rm \
|
||||||
--volume ${PWD}:/workspace \
|
--volume ${PWD}:/workspace \
|
||||||
volkerraschek/build-image:latest \
|
git.cryptic.systems/volker.raschek/build-image:latest \
|
||||||
cargo build --release
|
cargo build --release
|
||||||
```
|
```
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
image: volkerraschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}
|
|
||||||
{{#if build.tags}}
|
|
||||||
tags:
|
|
||||||
{{#each build.tags}}
|
|
||||||
- {{this}}
|
|
||||||
{{/each}}
|
|
||||||
- "latest"
|
|
||||||
{{/if}}
|
|
||||||
manifests:
|
|
||||||
-
|
|
||||||
image: volkerraschek/build-image:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}}-amd64
|
|
||||||
platform:
|
|
||||||
architecture: amd64
|
|
||||||
os: linux
|
|
@ -1,17 +1,9 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"assignees": [ "volker.raschek" ],
|
"extends": [
|
||||||
"automergeStrategy": "merge-commit",
|
"local>volker.raschek/renovate-config:default#master",
|
||||||
"automergeType": "pr",
|
"local>volker.raschek/renovate-config:container#master",
|
||||||
"labels": [ "renovate" ],
|
"local>volker.raschek/renovate-config:actions#master",
|
||||||
"packageRules": [
|
"local>volker.raschek/renovate-config:regexp#master"
|
||||||
{
|
]
|
||||||
"addLabels": [ "renovate/droneci", "renovate/automerge" ],
|
|
||||||
"automerge": true,
|
|
||||||
"matchManagers": "droneci",
|
|
||||||
"matchUpdateTypes": [ "minor", "patch"]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"rebaseLabel": "renovate/rebase",
|
|
||||||
"rebaseWhen": "behind-base-branch"
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user