feat: first build testing
- add README - update build steps to use docker.sock
This commit is contained in:
parent
e8cc0ac6db
commit
7c4f6bad19
41
.drone.yml
41
.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,45 @@ 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
|
||||
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
|
||||
|
||||
6
README.md
Normal file
6
README.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Docker Image Build: almalinux base
|
||||
|
||||
[](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.
|
||||
|
||||
8
makefile
8
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
|
||||
|
||||
Reference in New Issue
Block a user