Compare commits
No commits in common. "main" and "labels" have entirely different histories.
@ -1,12 +1,19 @@
|
||||
ARG VERSION
|
||||
ARG BUILD_TIME
|
||||
FROM registry.opensuse.org/opensuse/tumbleweed:${VERSION}
|
||||
|
||||
LABEL org.opencontainers.image.description=Image containing restic & openSSH, based on openSUSE Tumbleweed
|
||||
LABEL org.opencontainers.image.source=https://git.rre.nu/jonas/restic/src/tag/${VERSION}
|
||||
LABEL org.opencontainers.image.title=restic with openSSH based on openSUSE Tumpleweed
|
||||
LABEL org.opencontainers.image.url=https://git.rre.nu/jonas/-/packages/container/restic/${VERSION}
|
||||
LABEL org.opencontainers.image.created=${BUILD_TIME}
|
||||
|
||||
|
||||
RUN zypper --non-interactive install \
|
||||
openssh-clients \
|
||||
restic \
|
||||
&& zypper clean -a
|
||||
|
||||
ENV TZ="Europe/Stockholm"
|
||||
|
||||
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
29
Makefile
29
Makefile
@ -3,16 +3,14 @@
|
||||
|
||||
-include .env
|
||||
|
||||
VERSION=20230926
|
||||
VERSION=20230411
|
||||
IMAGENAME=restic
|
||||
REPO=git.rre.nu/jonas
|
||||
TITLE=restic with openSSH based on openSUSE Tumpleweed
|
||||
DESC=Image containing restic & openSSH, based on openSUSE Tumbleweed
|
||||
|
||||
BUILD_TIME := $(shell TZ=UTC date --iso-8601=ns)
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
default: build
|
||||
|
||||
require_clean_git:
|
||||
git update-index -q --ignore-submodules --refresh
|
||||
git diff-files --quiet --ignore-submodules
|
||||
@ -25,27 +23,22 @@ require_clean_git:
|
||||
exit 1; \
|
||||
fi
|
||||
|
||||
default: build
|
||||
|
||||
build:
|
||||
podman build \
|
||||
--build-arg VERSION="$(VERSION)" \
|
||||
--label org.opencontainers.image.source="https://${REPO}/${IMAGENAME}/src/tag/v${VERSION}" \
|
||||
--label org.opencontainers.image.title="${TITLE}" \
|
||||
--label org.opencontainers.image.description="${DESC}" \
|
||||
--label org.opencontainers.image.created="$(shell TZ=UTC date --iso-8601=ns)" \
|
||||
--label org.opencontainers.image.url="https://${REPO}/-/packages/container/${IMAGENAME}/${VERSION}" \
|
||||
--label org.opencontainers.image.version="${VERSION}" \
|
||||
--label org.opencontainers.image.vendor="Jonas Forsberg" \
|
||||
--tag ${REPO}/${IMAGENAME}:$(VERSION) \
|
||||
--build-arg VERSION=$(VERSION) \
|
||||
--build-arg BUILD_TIME=${BUILD_TIME} \
|
||||
--tag docker.io/bardak/restic:$(VERSION) \
|
||||
.
|
||||
|
||||
clean:
|
||||
podman image rm ${REPO}/${IMAGENAME}:$(VERSION)
|
||||
podman image rm docker.io/bardak/restic:$(VERSION)
|
||||
|
||||
release: require_clean_git build
|
||||
$(eval TMP_MESSAGE := $(shell podman run --rm -it ${REPO}/${IMAGENAME}:$(VERSION) /usr/bin/restic --version))
|
||||
git tag -a v$(VERSION) -m "restic version: ${TMP_MESSAGE}"
|
||||
git push origin v$(VERSION)
|
||||
podman tag ${REPO}/${IMAGENAME}:$(VERSION) ${REPO}/${IMAGENAME}:latest
|
||||
@ echo "Pushing images"
|
||||
@ podman push --creds $(USERNAME):$(PASSWORD) ${REPO}/${IMAGENAME}:$(VERSION)
|
||||
@ podman push --creds $(USERNAME):$(PASSWORD) ${REPO}/${IMAGENAME}:latest
|
||||
podman push --creds $(USERNAME):$(PASSWORD) ${REPO}/${IMAGENAME}:$(VERSION)
|
||||
podman push --creds $(USERNAME):$(PASSWORD) ${REPO}/${IMAGENAME}:latest
|
||||
|
16
autobuild.sh
16
autobuild.sh
@ -5,8 +5,6 @@ BASE_IMAGE="registry.opensuse.org/opensuse/tumbleweed"
|
||||
TARGET_REPO="git.rre.nu/jonas/"
|
||||
PACKAGE_NAME="restic"
|
||||
|
||||
git pull
|
||||
|
||||
echo "Pulling latest tumbleweed"
|
||||
podman pull "${BASE_IMAGE}:latest"
|
||||
|
||||
@ -19,13 +17,16 @@ if [[ "$CURRENT_TUMBLEWEED_TAG" == "$LATEST_TUMBLEWEED_TAG" ]]; then
|
||||
fi
|
||||
|
||||
echo "New tumbleweed image exists"
|
||||
if [[ "x" == "x$(podman run --rm -it ${TARGET_REPO}${PACKAGE_NAME}:latest /usr/bin/bash -c "zypper list-updates | grep $PACKAGE_NAME")" ]]; then
|
||||
echo "No updates for $PACKAGE_NAME"
|
||||
exit 0
|
||||
fi
|
||||
CURRENT_VERSION="$(podman run --rm -it ${TARGET_REPO}${PACKAGE_NAME}:latest /usr/bin/bash -c "zypper info $PACKAGE_NAME | sed -n 's/.*Version : \(.*\)$/\1/p'")"
|
||||
LATEST_VERSION="$(podman run --rm -it ${BASE_IMAGE}:latest /usr/bin/bash -c "zypper ref > /dev/null && zypper info $PACKAGE_NAME | sed -n 's/.*Version : \(.*\)$/\1/p'")"
|
||||
|
||||
echo "updates found : $LATEST_VERSION"
|
||||
echo "current : $CURRENT_VERSION"
|
||||
echo "latest : $LATEST_VERSION"
|
||||
|
||||
if [[ "$CURRENT_VERSION" == "$LATEST_VERSION" ]]; then
|
||||
echo "No new $PACKAGE_NAME version detected"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#Updateing Makefile with latest image tag
|
||||
sed -i 's/VERSION='"$CURRENT_TUMBLEWEED_TAG"'/VERSION='"$LATEST_TUMBLEWEED_TAG"'/' Makefile
|
||||
@ -36,4 +37,3 @@ git push
|
||||
echo "build and push new image"
|
||||
|
||||
make release
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user