Add dynamic dependency args to dockerfile
Add makefile for automating build and push commands
This commit is contained in:
		@@ -25,6 +25,9 @@ RUN python -m pip wheel \
 | 
			
		||||
# ==================================
 | 
			
		||||
FROM python:3.11-slim
 | 
			
		||||
 | 
			
		||||
ARG OPENTOFU_VERSION
 | 
			
		||||
ARG SEMAPHORE_VERSION
 | 
			
		||||
 | 
			
		||||
ENV SEMAPHORE_RUNNER_CONFIG_FILE /semaphore/config.json
 | 
			
		||||
 | 
			
		||||
COPY --from=build /build/wheels /tmp/wheels
 | 
			
		||||
@@ -37,8 +40,8 @@ RUN apt-get update --yes && \
 | 
			
		||||
    curl \
 | 
			
		||||
    gnupg && \
 | 
			
		||||
  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/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/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/v${SEMAPHORE_VERSION}/semaphore_${SEMAPHORE_VERSION}_linux_amd64.deb && \
 | 
			
		||||
  apt-get install --yes /tmp/apt/*.deb && \
 | 
			
		||||
  apt-get clean --yes && \
 | 
			
		||||
  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)
 | 
			
		||||
		Reference in New Issue
	
	Block a user