diff --git a/.drone.yml b/.drone.yml index 20b6d25..66163f9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,10 +4,7 @@ name: build-docker-image steps: - name: build - image: docker:20.10.24-dind - environment: - DOCKER_HOST: tcp://localhost:2375 # Docker daemon - DOCKER_TLS_CERTDIR: '' # Disable TLS to simplify DIND setup + image: docker:dind volumes: - name: dockersock path: /var/run/docker.sock @@ -15,11 +12,48 @@ steps: - apk add --no-cache make bash git - make build + - name: push + image: docker:dind + environment: + DOCKER_USERNAME: + from_secret: docker_username + DOCKER_PASSWORD: + from_secret: docker_password + volumes: + - name: dockersock + path: /var/run/docker.sock + when: + branch: + - master + event: + - push + + commands: + - apk add --no-cache make bash git + - echo "$DOCKER_PASSWORD" | docker login --username=$DOCKER_USERNAME --password-stdin git.query.consul + - make push + + - name: clean + image: docker:dind + volumes: + - name: dockersock + path: /var/run/docker.sock + commands: + - apk add --no-cache make bash git + - make clean + volumes: - name: dockersock - temp: {} + host: + path: /var/run/docker.sock trigger: event: - push - pull_request + +secrets: + - source: docker_username + target: DOCKER_USERNAME + - source: docker_password + target: DOCKER_PASSWORD diff --git a/README.md b/README.md new file mode 100644 index 0000000..6421613 --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# Docker Image Build: almalinux base + +[![Build Status](https://droneci.query.consul/api/badges/unkin/docker-almalinux-base/status.svg)](https://droneci.query.consul/unkin/docker-almalinux-base) + +This project provides a reproducible Docker image build process for `almalinux:8.10`, with custom YUM repository configurations and package installations. The build is automated using a `Makefile` and managed via Drone CI to ensure consistent and reliable Docker image builds. + diff --git a/makefile b/makefile index 7544759..7da6367 100644 --- a/makefile +++ b/makefile @@ -11,13 +11,13 @@ OWNER := unkin # Build the Docker image (without tags) build: - docker build --network=host -t $(IMAGE_NAME) . + docker build --network=host -t $(REGISTRY)/$(OWNER)/$(IMAGE_NAME) . # Tag the Docker image with the Git commit hash, the date, and 'latest' tag: - docker tag $(IMAGE_NAME):latest $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):$(GIT_COMMIT) - docker tag $(IMAGE_NAME):latest $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):$(DATE_TAG) - docker tag $(IMAGE_NAME):latest $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):latest + docker tag $(REGISTRY)/$(OWNER)/$(IMAGE_NAME) $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):$(GIT_COMMIT) + docker tag $(REGISTRY)/$(OWNER)/$(IMAGE_NAME) $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):$(DATE_TAG) + docker tag $(REGISTRY)/$(OWNER)/$(IMAGE_NAME) $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):latest # Push the Docker image to a repository with all tags push: tag