feat: create base almalinux 8.10 image
- add drone.yml - add makefile - add Dockerfile - add repos
This commit is contained in:
commit
e8cc0ac6db
25
.drone.yml
Normal file
25
.drone.yml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
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
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
commands:
|
||||||
|
- apk add --no-cache make bash git
|
||||||
|
- make build
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
temp: {}
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- pull_request
|
||||||
18
Dockerfile
Normal file
18
Dockerfile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Start with the base AlmaLinux 8.10 image
|
||||||
|
FROM almalinux:8.10
|
||||||
|
|
||||||
|
# Remove existing repos and copy custom repo files into the container
|
||||||
|
RUN rm -rf /etc/yum.repos.d/*.repo
|
||||||
|
|
||||||
|
# Copy from the local context into the container
|
||||||
|
COPY files/*.repo /etc/yum.repos.d/
|
||||||
|
|
||||||
|
# Clean and update the repository cache
|
||||||
|
RUN dnf clean all && \
|
||||||
|
dnf makecache
|
||||||
|
|
||||||
|
# Update the system and install required packages
|
||||||
|
RUN dnf update -y && \
|
||||||
|
dnf install -y curl git && \
|
||||||
|
dnf clean all && \
|
||||||
|
rm -rf /var/cache/dnf
|
||||||
6
files/appstream.repo
Normal file
6
files/appstream.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[appstream]
|
||||||
|
name=appstream repository
|
||||||
|
baseurl=http://edgecache.query.consul/almalinux/8.10/AppStream/x86_64/os
|
||||||
|
gpgkey=http://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
6
files/baseos.repo
Normal file
6
files/baseos.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[baseos]
|
||||||
|
name=baseos repository
|
||||||
|
baseurl=http://edgecache.query.consul/almalinux/8.10/BaseOS/x86_64/os
|
||||||
|
gpgkey=http://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
6
files/epel.repo
Normal file
6
files/epel.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[epel]
|
||||||
|
name=epel repository
|
||||||
|
baseurl=http://edgecache.query.consul/epel/8/Everything/x86_64
|
||||||
|
gpgkey=http://edgecache.query.consul/epel/RPM-GPG-KEY-EPEL-8
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
6
files/powertools.repo
Normal file
6
files/powertools.repo
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[powertools]
|
||||||
|
name=powertools repository
|
||||||
|
baseurl=http://edgecache.query.consul/almalinux/8.10/PowerTools/x86_64/os
|
||||||
|
gpgkey=http://edgecache.query.consul/almalinux/RPM-GPG-KEY-AlmaLinux-8
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
33
makefile
Normal file
33
makefile
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Get the current Git commit hash
|
||||||
|
GIT_COMMIT := $(shell git rev-parse --short HEAD)
|
||||||
|
|
||||||
|
# Get the current date in YYYYMMDD format
|
||||||
|
DATE_TAG := $(shell date +%Y%m%d)
|
||||||
|
|
||||||
|
# Set the Docker image name and repository information
|
||||||
|
IMAGE_NAME := almalinux8
|
||||||
|
REGISTRY := git.query.consul
|
||||||
|
OWNER := unkin
|
||||||
|
|
||||||
|
# Build the Docker image (without tags)
|
||||||
|
build:
|
||||||
|
docker build --network=host -t $(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
|
||||||
|
|
||||||
|
# Push the Docker image to a repository with all tags
|
||||||
|
push: tag
|
||||||
|
docker push $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):$(GIT_COMMIT)
|
||||||
|
docker push $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):$(DATE_TAG)
|
||||||
|
docker push $(REGISTRY)/$(OWNER)/$(IMAGE_NAME):latest
|
||||||
|
|
||||||
|
# Clean up dangling Docker images
|
||||||
|
clean:
|
||||||
|
docker image prune -f
|
||||||
|
|
||||||
|
# Default target
|
||||||
|
default: build
|
||||||
Reference in New Issue
Block a user