Add dynamic dependency args to dockerfile
Add makefile for automating build and push commands
This commit is contained in:
parent
2cc57c32b7
commit
173dc2d719
@ -25,6 +25,9 @@ RUN python -m pip wheel \
|
|||||||
# ==================================
|
# ==================================
|
||||||
FROM python:3.11-slim
|
FROM python:3.11-slim
|
||||||
|
|
||||||
|
ARG OPENTOFU_VERSION
|
||||||
|
ARG SEMAPHORE_VERSION
|
||||||
|
|
||||||
ENV SEMAPHORE_RUNNER_CONFIG_FILE /semaphore/config.json
|
ENV SEMAPHORE_RUNNER_CONFIG_FILE /semaphore/config.json
|
||||||
|
|
||||||
COPY --from=build /build/wheels /tmp/wheels
|
COPY --from=build /build/wheels /tmp/wheels
|
||||||
@ -37,8 +40,8 @@ RUN apt-get update --yes && \
|
|||||||
curl \
|
curl \
|
||||||
gnupg && \
|
gnupg && \
|
||||||
mkdir --parents /tmp/apt && \
|
mkdir --parents /tmp/apt && \
|
||||||
curl -sSL -o /tmp/apt/opentofu.deb https://github.com/opentofu/opentofu/releases/download/v1.6.2/tofu_1.6.2_amd64.deb && \
|
curl -sSL -o /tmp/apt/opentofu.deb https://github.com/opentofu/opentofu/releases/download/v${OPENTOFU_VERSION}/tofu_${OPENTOFU_VERSION}_amd64.deb && \
|
||||||
curl -sSL -o /tmp/apt/semaphore.deb https://github.com/ansible-semaphore/semaphore/releases/download/v2.9.45/semaphore_2.9.45_linux_amd64.deb && \
|
curl -sSL -o /tmp/apt/semaphore.deb https://github.com/ansible-semaphore/semaphore/releases/download/v${SEMAPHORE_VERSION}/semaphore_${SEMAPHORE_VERSION}_linux_amd64.deb && \
|
||||||
apt-get install --yes /tmp/apt/*.deb && \
|
apt-get install --yes /tmp/apt/*.deb && \
|
||||||
apt-get clean --yes && \
|
apt-get clean --yes && \
|
||||||
rm -rf /tmp/apt && \
|
rm -rf /tmp/apt && \
|
||||||
|
17
Makefile
Normal file
17
Makefile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
REPOSITORY = vcs.enp.one/skylab/semaphore-runner
|
||||||
|
OPENTOFU_VERSION = 1.6.2
|
||||||
|
SEMAPHORE_VERSION = 2.9.45
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: help docs
|
||||||
|
# source: https://marmelab.com/blog/2016/02/29/auto-documented-makefile.html
|
||||||
|
help: ## List Makefile targets
|
||||||
|
$(info Makefile documentation)
|
||||||
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-10s\033[0m %s\n", $$1, $$2}'
|
||||||
|
|
||||||
|
|
||||||
|
image: ## Build image
|
||||||
|
podman build . --tag $(REPOSITORY):$(SEMAPHORE_VERSION) --build-arg "OPENTOFU_VERSION=$(OPENTOFU_VERSION)" --build-arg "SEMAPHORE_VERSION=$(SEMAPHORE_VERSION)"
|
||||||
|
|
||||||
|
push: image ## Build and publish image
|
||||||
|
podman push $(REPOSITORY):$(SEMAPHORE_VERSION)
|
Loading…
Reference in New Issue
Block a user