Add support for podman & fix crc e2e tests (#214)
#203 Add support for podman - container runtime
This commit is contained in:
		
							parent
							
								
									b75e8de596
								
							
						
					
					
						commit
						eea28a42a3
					
				
							
								
								
									
										97
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										97
									
								
								Makefile
								
								
								
								
							| 
						 | 
					@ -43,6 +43,9 @@ BUILD_TAG := $(GITBRANCH)-$(GITCOMMIT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BUILD_PATH := ./cmd/manager
 | 
					BUILD_PATH := ./cmd/manager
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# CONTAINER_RUNTIME_COMMAND is Container Runtime - it could be docker or podman
 | 
				
			||||||
 | 
					CONTAINER_RUNTIME_COMMAND := docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Set any default go build tags
 | 
					# Set any default go build tags
 | 
				
			||||||
BUILDTAGS :=
 | 
					BUILDTAGS :=
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -62,12 +65,13 @@ PACKAGES_FOR_UNIT_TESTS = $(shell go list -f '{{.ImportPath}}/' ./... | grep -v
 | 
				
			||||||
# Run all the e2e tests by default
 | 
					# Run all the e2e tests by default
 | 
				
			||||||
E2E_TEST_SELECTOR ?= .*
 | 
					E2E_TEST_SELECTOR ?= .*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ARGS ?= /usr/bin/jenkins-operator --local --namespace=$(NAMESPACE) $(EXTRA_ARGS)
 | 
					JENKINS_API_HOSTNAME := $(shell $(JENKINS_API_HOSTNAME_COMMAND))
 | 
				
			||||||
 | 
					OPERATOR_ARGS ?= --jenkins-api-hostname=$(JENKINS_API_HOSTNAME) --jenkins-api-port=$(JENKINS_API_PORT) --jenkins-api-use-nodeport=$(JENKINS_API_USE_NODEPORT) --namespace=$(NAMESPACE) $(OPERATOR_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.DEFAULT_GOAL := help
 | 
					.DEFAULT_GOAL := help
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: all
 | 
					.PHONY: all
 | 
				
			||||||
all: status checkmake clean build verify install docker-build docker-images ## Build the image
 | 
					all: status checkmake clean build verify install container-runtime-build container-runtime-images ## Build the image
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: check-env
 | 
					.PHONY: check-env
 | 
				
			||||||
| 
						 | 
					@ -156,24 +160,38 @@ test: ## Runs the go tests
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: e2e
 | 
					.PHONY: e2e
 | 
				
			||||||
CURRENT_DIRECTORY := $(shell pwd)
 | 
					CURRENT_DIRECTORY := $(shell pwd)
 | 
				
			||||||
JENKINS_API_HOSTNAME := $(shell $(JENKINS_API_HOSTNAME_COMMAND))
 | 
					e2e: container-runtime-build ## Runs e2e tests, you can use EXTRA_ARGS
 | 
				
			||||||
e2e: docker-build ## Runs e2e tests, you can use EXTRA_ARGS
 | 
					 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	@echo "Docker image: $(DOCKER_REGISTRY):$(GITCOMMIT)"
 | 
						@echo "Docker image: $(DOCKER_REGISTRY):$(GITCOMMIT)"
 | 
				
			||||||
 | 
					ifeq ($(KUBERNETES_PROVIDER),minikube)
 | 
				
			||||||
	kubectl config use-context $(KUBECTL_CONTEXT)
 | 
						kubectl config use-context $(KUBECTL_CONTEXT)
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					ifeq ($(KUBERNETES_PROVIDER),crc)
 | 
				
			||||||
 | 
						oc project $(CRC_OC_PROJECT)
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
	cp deploy/service_account.yaml deploy/namespace-init.yaml
 | 
						cp deploy/service_account.yaml deploy/namespace-init.yaml
 | 
				
			||||||
	cat deploy/role.yaml >> deploy/namespace-init.yaml
 | 
						cat deploy/role.yaml >> deploy/namespace-init.yaml
 | 
				
			||||||
	cat deploy/role_binding.yaml >> deploy/namespace-init.yaml
 | 
						cat deploy/role_binding.yaml >> deploy/namespace-init.yaml
 | 
				
			||||||
	cat deploy/operator.yaml >> deploy/namespace-init.yaml
 | 
						cat deploy/operator.yaml >> deploy/namespace-init.yaml
 | 
				
			||||||
ifeq ($(OSFLAG), LINUX)
 | 
					ifeq ($(OSFLAG), LINUX)
 | 
				
			||||||
 | 
					ifeq ($(IMAGE_PULL_MODE), remote)
 | 
				
			||||||
 | 
						sed -i 's|\(image:\).*|\1 $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(GITCOMMIT)|g' deploy/namespace-init.yaml
 | 
				
			||||||
 | 
						sed -i 's|\(imagePullPolicy\): IfNotPresent|\1: Always|g' deploy/namespace-init.yaml
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
	sed -i 's|\(image:\).*|\1 $(DOCKER_REGISTRY):$(GITCOMMIT)|g' deploy/namespace-init.yaml
 | 
						sed -i 's|\(image:\).*|\1 $(DOCKER_REGISTRY):$(GITCOMMIT)|g' deploy/namespace-init.yaml
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
ifeq ($(KUBERNETES_PROVIDER),minikube)
 | 
					ifeq ($(KUBERNETES_PROVIDER),minikube)
 | 
				
			||||||
	sed -i 's|\(imagePullPolicy\): IfNotPresent|\1: Never|g' deploy/namespace-init.yaml
 | 
						sed -i 's|\(imagePullPolicy\): IfNotPresent|\1: Never|g' deploy/namespace-init.yaml
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ifeq ($(OSFLAG), OSX)
 | 
					ifeq ($(OSFLAG), OSX)
 | 
				
			||||||
 | 
					ifeq ($(IMAGE_PULL_MODE), remote)
 | 
				
			||||||
 | 
						sed -i '' 's|\(image:\).*|\1 $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(GITCOMMIT)|g' deploy/namespace-init.yaml
 | 
				
			||||||
 | 
						sed -i '' 's|\(imagePullPolicy\): IfNotPresent|\1: Always|g' deploy/namespace-init.yaml
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
	sed -i '' 's|\(image:\).*|\1 $(DOCKER_REGISTRY):$(GITCOMMIT)|g' deploy/namespace-init.yaml
 | 
						sed -i '' 's|\(image:\).*|\1 $(DOCKER_REGISTRY):$(GITCOMMIT)|g' deploy/namespace-init.yaml
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
ifeq ($(KUBERNETES_PROVIDER),minikube)
 | 
					ifeq ($(KUBERNETES_PROVIDER),minikube)
 | 
				
			||||||
	sed -i '' 's|\(imagePullPolicy\): IfNotPresent|\1: Never|g' deploy/namespace-init.yaml
 | 
						sed -i '' 's|\(imagePullPolicy\): IfNotPresent|\1: Never|g' deploy/namespace-init.yaml
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
| 
						 | 
					@ -182,7 +200,7 @@ endif
 | 
				
			||||||
	@RUNNING_TESTS=1 go test -parallel=1 "./test/e2e/" -tags "$(BUILDTAGS) cgo" -v -timeout 45m -run "$(E2E_TEST_SELECTOR)" \
 | 
						@RUNNING_TESTS=1 go test -parallel=1 "./test/e2e/" -tags "$(BUILDTAGS) cgo" -v -timeout 45m -run "$(E2E_TEST_SELECTOR)" \
 | 
				
			||||||
		-root=$(CURRENT_DIRECTORY) -kubeconfig=$(HOME)/.kube/config -globalMan deploy/crds/jenkins_$(API_VERSION)_jenkins_crd.yaml \
 | 
							-root=$(CURRENT_DIRECTORY) -kubeconfig=$(HOME)/.kube/config -globalMan deploy/crds/jenkins_$(API_VERSION)_jenkins_crd.yaml \
 | 
				
			||||||
		-jenkins-api-hostname=$(JENKINS_API_HOSTNAME) -jenkins-api-port=$(JENKINS_API_PORT) -jenkins-api-use-nodeport=$(JENKINS_API_USE_NODEPORT) \
 | 
							-jenkins-api-hostname=$(JENKINS_API_HOSTNAME) -jenkins-api-port=$(JENKINS_API_PORT) -jenkins-api-use-nodeport=$(JENKINS_API_USE_NODEPORT) \
 | 
				
			||||||
		-namespacedMan deploy/namespace-init.yaml $(EXTRA_ARGS)
 | 
							-namespacedMan deploy/namespace-init.yaml $(TEST_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: vet
 | 
					.PHONY: vet
 | 
				
			||||||
vet: ## Verifies `go vet` passes
 | 
					vet: ## Verifies `go vet` passes
 | 
				
			||||||
| 
						 | 
					@ -227,10 +245,15 @@ run: export WATCH_NAMESPACE = $(NAMESPACE)
 | 
				
			||||||
run: export OPERATOR_NAME = $(NAME)
 | 
					run: export OPERATOR_NAME = $(NAME)
 | 
				
			||||||
run: build ## Run the executable, you can use EXTRA_ARGS
 | 
					run: build ## Run the executable, you can use EXTRA_ARGS
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
 | 
					ifeq ($(KUBERNETES_PROVIDER),minikube)
 | 
				
			||||||
	kubectl config use-context $(KUBECTL_CONTEXT)
 | 
						kubectl config use-context $(KUBECTL_CONTEXT)
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
 | 
					ifeq ($(KUBERNETES_PROVIDER),crc)
 | 
				
			||||||
 | 
						oc project $(CRC_OC_PROJECT)
 | 
				
			||||||
 | 
					endif
 | 
				
			||||||
	kubectl apply -f deploy/crds/jenkins_$(API_VERSION)_jenkins_crd.yaml
 | 
						kubectl apply -f deploy/crds/jenkins_$(API_VERSION)_jenkins_crd.yaml
 | 
				
			||||||
	@echo "Watching '$(WATCH_NAMESPACE)' namespace"
 | 
						@echo "Watching '$(WATCH_NAMESPACE)' namespace"
 | 
				
			||||||
	build/_output/bin/jenkins-operator --local $(EXTRA_ARGS)
 | 
						build/_output/bin/jenkins-operator $(OPERATOR_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: clean
 | 
					.PHONY: clean
 | 
				
			||||||
clean: ## Cleanup any build binaries or packages
 | 
					clean: ## Cleanup any build binaries or packages
 | 
				
			||||||
| 
						 | 
					@ -281,44 +304,50 @@ ifndef HAS_CHECKMAKE
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
	@checkmake Makefile
 | 
						@checkmake Makefile
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-login
 | 
					.PHONY: container-runtime-login
 | 
				
			||||||
docker-login: ## Log in into the Docker repository
 | 
					container-runtime-login: ## Log in into the Docker repository
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-build
 | 
					.PHONY: container-runtime-build
 | 
				
			||||||
docker-build: check-env ## Build the container
 | 
					container-runtime-build: check-env ## Build the container
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	docker build \
 | 
						$(CONTAINER_RUNTIME_COMMAND) build \
 | 
				
			||||||
	--build-arg GO_VERSION=$(GO_VERSION) \
 | 
						--build-arg GO_VERSION=$(GO_VERSION) \
 | 
				
			||||||
	--build-arg OPERATOR_SDK_VERSION=$(OPERATOR_SDK_VERSION) \
 | 
						--build-arg OPERATOR_SDK_VERSION=$(OPERATOR_SDK_VERSION) \
 | 
				
			||||||
	-t $(DOCKER_REGISTRY):$(GITCOMMIT) . \
 | 
						-t $(DOCKER_REGISTRY):$(GITCOMMIT) . \
 | 
				
			||||||
	--file build/Dockerfile
 | 
						--file build/Dockerfile $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-images
 | 
					.PHONY: container-runtime-images
 | 
				
			||||||
docker-images: ## List all local containers
 | 
					container-runtime-images: ## List all local containers
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	docker images
 | 
						$(CONTAINER_RUNTIME_COMMAND) images $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-push
 | 
					.PHONY: container-runtime-push
 | 
				
			||||||
docker-push: ## Push the container
 | 
					container-runtime-push: ## Push the container
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	docker tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(BUILD_TAG)
 | 
						$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(BUILD_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
	docker push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(BUILD_TAG)
 | 
						$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(BUILD_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-release-version
 | 
					.PHONY: container-runtime-snapshot-push
 | 
				
			||||||
docker-release-version: ## Release image with version tag (in addition to build tag)
 | 
					container-runtime-snapshot-push:
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	docker tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(VERSION_TAG)
 | 
						$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(GITCOMMIT) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
	docker push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(VERSION_TAG)
 | 
						$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(GITCOMMIT) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-release-latest
 | 
					.PHONY: container-runtime-release-version
 | 
				
			||||||
docker-release-latest: ## Release image with latest tags (in addition to build tag)
 | 
					container-runtime-release-version: ## Release image with version tag (in addition to build tag)
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	docker tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(LATEST_TAG)
 | 
						$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(VERSION_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
	docker push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(LATEST_TAG)
 | 
						$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(VERSION_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-release
 | 
					.PHONY: container-runtime-release-latest
 | 
				
			||||||
docker-release: docker-build docker-release-version docker-release-latest ## Release image with version and latest tags (in addition to build tag)
 | 
					container-runtime-release-latest: ## Release image with latest tags (in addition to build tag)
 | 
				
			||||||
 | 
						@echo "+ $@"
 | 
				
			||||||
 | 
						$(CONTAINER_RUNTIME_COMMAND) tag $(DOCKER_REGISTRY):$(GITCOMMIT) $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(LATEST_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
						$(CONTAINER_RUNTIME_COMMAND) push $(DOCKER_ORGANIZATION)/$(DOCKER_REGISTRY):$(LATEST_TAG) $(CONTAINER_RUNTIME_EXTRA_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.PHONY: container-runtime-release
 | 
				
			||||||
 | 
					container-runtime-release: container-runtime-build container-runtime-release-version container-runtime-release-latest ## Release image with version and latest tags (in addition to build tag)
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# if this session isn't interactive, then we don't want to allocate a
 | 
					# if this session isn't interactive, then we don't want to allocate a
 | 
				
			||||||
| 
						 | 
					@ -329,12 +358,12 @@ ifeq ($(INTERACTIVE), 1)
 | 
				
			||||||
    DOCKER_FLAGS += -t
 | 
					    DOCKER_FLAGS += -t
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: docker-run
 | 
					.PHONY: container-runtime-run
 | 
				
			||||||
docker-run: ## Run the container in docker, you can use EXTRA_ARGS
 | 
					container-runtime-run: ## Run the container in docker, you can use EXTRA_ARGS
 | 
				
			||||||
	@echo "+ $@"
 | 
						@echo "+ $@"
 | 
				
			||||||
	docker run --rm -i $(DOCKER_FLAGS) \
 | 
						$(CONTAINER_RUNTIME_COMMAND) run $(CONTAINER_RUNTIME_EXTRA_ARGS) --rm -i $(DOCKER_FLAGS) \
 | 
				
			||||||
		--volume $(HOME)/.kube/config:/home/jenkins-operator/.kube/config \
 | 
							--volume $(HOME)/.kube/config:/home/jenkins-operator/.kube/config \
 | 
				
			||||||
		$(DOCKER_REGISTRY):$(GITCOMMIT) $(ARGS)
 | 
							$(DOCKER_REGISTRY):$(GITCOMMIT) /usr/bin/jenkins-operator $(OPERATOR_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: minikube-run
 | 
					.PHONY: minikube-run
 | 
				
			||||||
minikube-run: export WATCH_NAMESPACE = $(NAMESPACE)
 | 
					minikube-run: export WATCH_NAMESPACE = $(NAMESPACE)
 | 
				
			||||||
| 
						 | 
					@ -344,7 +373,7 @@ minikube-run: minikube-start ## Run the operator locally and use minikube as Kub
 | 
				
			||||||
	kubectl config use-context minikube
 | 
						kubectl config use-context minikube
 | 
				
			||||||
	kubectl apply -f deploy/crds/jenkins_$(API_VERSION)_jenkins_crd.yaml
 | 
						kubectl apply -f deploy/crds/jenkins_$(API_VERSION)_jenkins_crd.yaml
 | 
				
			||||||
	@echo "Watching '$(WATCH_NAMESPACE)' namespace"
 | 
						@echo "Watching '$(WATCH_NAMESPACE)' namespace"
 | 
				
			||||||
	build/_output/bin/jenkins-operator $(EXTRA_ARGS)
 | 
						build/_output/bin/jenkins-operator $(OPERATOR_ARGS)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.PHONY: deepcopy-gen
 | 
					.PHONY: deepcopy-gen
 | 
				
			||||||
deepcopy-gen: ## Generate deepcopy golang code
 | 
					deepcopy-gen: ## Generate deepcopy golang code
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,3 +9,4 @@ NAMESPACE=default
 | 
				
			||||||
API_VERSION=v1alpha2
 | 
					API_VERSION=v1alpha2
 | 
				
			||||||
ALL_IN_ONE_DEPLOY_FILE_PREFIX=all-in-one
 | 
					ALL_IN_ONE_DEPLOY_FILE_PREFIX=all-in-one
 | 
				
			||||||
GEN_CRD_API=gen-crd-api-reference-docs
 | 
					GEN_CRD_API=gen-crd-api-reference-docs
 | 
				
			||||||
 | 
					IMAGE_PULL_MODE=local
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,7 @@
 | 
				
			||||||
 | 
					KUBERNETES_PROVIDER=crc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					JENKINS_API_HOSTNAME_COMMAND=crc ip
 | 
				
			||||||
 | 
					JENKINS_API_PORT=0
 | 
				
			||||||
 | 
					JENKINS_API_USE_NODEPORT=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CRC_OC_PROJECT=default
 | 
				
			||||||
| 
						 | 
					@ -6,5 +6,5 @@ MINIKUBE_VERSION=1.4.0
 | 
				
			||||||
KUBECTL_CONTEXT=minikube
 | 
					KUBECTL_CONTEXT=minikube
 | 
				
			||||||
 | 
					
 | 
				
			||||||
JENKINS_API_HOSTNAME_COMMAND=minikube ip
 | 
					JENKINS_API_HOSTNAME_COMMAND=minikube ip
 | 
				
			||||||
JENKINS_API_PORT=-1
 | 
					JENKINS_API_PORT=0
 | 
				
			||||||
JENKINS_API_USE_NODEPORT=true
 | 
					JENKINS_API_USE_NODEPORT=true
 | 
				
			||||||
		Loading…
	
		Reference in New Issue