You've already forked createrepo-docker
Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
540c1140db
|
|||
b0abbc18f2 | |||
cf9af61d27 | |||
31ca77ac27
|
|||
f76331e583
|
|||
e1ebc19f00
|
|||
fda97006ff
|
|||
ae994ebab2
|
|||
0bb533f16e
|
|||
9e37f72c0a
|
|||
903be7c5ad
|
|||
c1d6c38223
|
44
.drone.yml
44
.drone.yml
@ -13,8 +13,8 @@ steps:
|
|||||||
image: docker.io/volkerraschek/markdownlint:0.31.1
|
image: docker.io/volkerraschek/markdownlint:0.31.1
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 50M
|
memory: 150M
|
||||||
|
|
||||||
- name: email-notification
|
- name: email-notification
|
||||||
environment:
|
environment:
|
||||||
@ -29,8 +29,8 @@ steps:
|
|||||||
image: docker.io/drillster/drone-email:latest
|
image: docker.io/drillster/drone-email:latest
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
@ -52,7 +52,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -71,7 +71,7 @@ steps:
|
|||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: docker.io/drillster/drone-email:latest
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
PLUGIN_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
@ -115,7 +115,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -131,7 +131,7 @@ steps:
|
|||||||
from_secret: container_image_registry_password
|
from_secret: container_image_registry_password
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: docker.io/drillster/drone-email:latest
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
PLUGIN_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
@ -178,7 +178,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -196,7 +196,7 @@ steps:
|
|||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: docker.io/drillster/drone-email:latest
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
PLUGIN_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
@ -239,7 +239,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
@ -254,7 +254,7 @@ steps:
|
|||||||
from_secret: container_image_registry_password
|
from_secret: container_image_registry_password
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: docker.io/drillster/drone-email:latest
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
PLUGIN_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
@ -296,7 +296,7 @@ name: latest-manifest
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-manifest
|
- name: build-manifest
|
||||||
image: plugins/manifest
|
image: docker.io/plugins/manifest:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: false
|
auto_tag: false
|
||||||
ignore_missing: true
|
ignore_missing: true
|
||||||
@ -319,8 +319,8 @@ steps:
|
|||||||
from_secret: smtp_mail_address
|
from_secret: smtp_mail_address
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
@ -350,7 +350,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag_suffix: amd64
|
auto_tag_suffix: amd64
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@ -370,7 +370,7 @@ steps:
|
|||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: docker.io/drillster/drone-email:latest
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
PLUGIN_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
@ -407,7 +407,7 @@ platform:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
image: plugins/docker
|
image: docker.io/plugins/docker:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag_suffix: arm64-v8
|
auto_tag_suffix: arm64-v8
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
@ -427,7 +427,7 @@ steps:
|
|||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
- name: notify
|
- name: notify
|
||||||
image: drillster/drone-email
|
image: docker.io/drillster/drone-email:latest
|
||||||
environment:
|
environment:
|
||||||
PLUGIN_HOST:
|
PLUGIN_HOST:
|
||||||
from_secret: smtp_host
|
from_secret: smtp_host
|
||||||
@ -460,7 +460,7 @@ name: tagged-manifest
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: build-manifest
|
- name: build-manifest
|
||||||
image: plugins/manifest
|
image: docker.io/plugins/manifest:latest
|
||||||
settings:
|
settings:
|
||||||
auto_tag: true
|
auto_tag: true
|
||||||
ignore_missing: true
|
ignore_missing: true
|
||||||
@ -483,8 +483,8 @@ steps:
|
|||||||
from_secret: smtp_mail_address
|
from_secret: smtp_mail_address
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpu: 50
|
cpu: 150
|
||||||
memory: 25M
|
memory: 150M
|
||||||
when:
|
when:
|
||||||
status:
|
status:
|
||||||
- changed
|
- changed
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM docker.io/library/rockylinux:8.5
|
FROM docker.io/library/rockylinux:8.6
|
||||||
|
|
||||||
ARG CREATEREPO_VERSION
|
ARG CREATEREPO_VERSION
|
||||||
|
|
||||||
|
4
Makefile
4
Makefile
@ -1,11 +1,11 @@
|
|||||||
# CREATEREPO_VERSION
|
# CREATEREPO_VERSION
|
||||||
# Only required to install a specifiy version
|
# Only required to install a specifiy version
|
||||||
CREATEREPO_VERSION?=0.17.2
|
CREATEREPO_VERSION?=0.17.7
|
||||||
|
|
||||||
# CONTAINER_RUNTIME
|
# CONTAINER_RUNTIME
|
||||||
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
# The CONTAINER_RUNTIME variable will be used to specified the path to a
|
||||||
# container runtime. This is needed to start and run a container image.
|
# container runtime. This is needed to start and run a container image.
|
||||||
CONTAINER_RUNTIME?=$(shell which docker)
|
CONTAINER_RUNTIME?=$(shell which podman)
|
||||||
|
|
||||||
# CREATEREPO_IMAGE_REGISTRY_NAME
|
# CREATEREPO_IMAGE_REGISTRY_NAME
|
||||||
# Defines the name of the new container to be built using several variables.
|
# Defines the name of the new container to be built using several variables.
|
||||||
|
33
README.md
33
README.md
@ -4,6 +4,33 @@
|
|||||||
[](https://hub.docker.com/r/volkerraschek/createrepo)
|
[](https://hub.docker.com/r/volkerraschek/createrepo)
|
||||||
|
|
||||||
This project contains all sources to build the container image
|
This project contains all sources to build the container image
|
||||||
`docker.io/volkerraschek/createrepo`. The primary goal of this project is to package
|
`docker.io/volkerraschek/createrepo` and the shell script `createrepo.sh`.
|
||||||
the binary `createrepo` as container image to provide the functionally for CI/CD
|
|
||||||
workflows or for systems which does not provide or based on RHEL.
|
The primary goal of this project is to package the binary `createrepo` as
|
||||||
|
container image to provide the functionally for CI/CD workflows or for systems
|
||||||
|
which does contains the binary.
|
||||||
|
|
||||||
|
## createrepo.sh
|
||||||
|
|
||||||
|
The shell script `createrepo.sh` is a wrapper for the binary `createrepo`, which
|
||||||
|
is not available depending on the distribution. It starts the container image
|
||||||
|
`docker.io/volkerraschek/createrepo` in the background to call the binary. For
|
||||||
|
this reason, a container runtime like `docker` or `podman` is necessary.
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
|
||||||
|
The script can be installed via the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
curl https://git.cryptic.systems/volker.raschek/createrepo-docker/raw/branch/master/createrepo.sh --output - | sudo tee /usr/local/bin/createrepo.sh && sudo chmod +x /usr/local/bin/createrepo.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
The script forwards all arguments directly to the binary running inside the
|
||||||
|
container. For this reason, all arguments from the original binary can be used.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
createrepo.sh --update . # Update local repository
|
||||||
|
createrepo.sh --update /var/www/my-repo # Update repository based on specific path
|
||||||
|
```
|
||||||
|
20
createrepo.sh
Normal file
20
createrepo.sh
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
CONTAINER_RUNTIME=$(which docker)
|
||||||
|
|
||||||
|
CREATEREPO_IMAGE_FULLY_QUALIFIED=docker.io/volkerraschek/createrepo:0.17.2
|
||||||
|
|
||||||
|
CUSTOM_UID=$(getent passwd ${USER} | cut -d ':' -f 3)
|
||||||
|
CUSTOM_GID=$(getent passwd ${USER} | cut -d ':' -f 4)
|
||||||
|
|
||||||
|
# Extract last element of passed arguments
|
||||||
|
REPO_DIR=${@: -1}
|
||||||
|
|
||||||
|
${CONTAINER_RUNTIME} run \
|
||||||
|
--rm \
|
||||||
|
--volume ${REPO_DIR}:${REPO_DIR} \
|
||||||
|
--workdir ${REPO_DIR} \
|
||||||
|
--user ${CUSTOM_UID}:${CUSTOM_GID} \
|
||||||
|
${CREATEREPO_IMAGE_FULLY_QUALIFIED} ${@}
|
@ -10,25 +10,20 @@
|
|||||||
"automerge": true,
|
"automerge": true,
|
||||||
"matchManagers": "droneci",
|
"matchManagers": "droneci",
|
||||||
"matchUpdateTypes": [ "minor", "patch"]
|
"matchUpdateTypes": [ "minor", "patch"]
|
||||||
},
|
|
||||||
{
|
|
||||||
"addLabels": [ "renovate/createrepo", "renovate/automerge" ],
|
|
||||||
"automerge": false,
|
|
||||||
"matchPackageNames": [ "createrepo" ],
|
|
||||||
"matchManagers": [ "regex" ]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"rebaseLabel": "renovate/rebase",
|
"rebaseLabel": "renovate/rebase",
|
||||||
"rebaseWhen": "behind-base-branch",
|
"rebaseWhen": "behind-base-branch",
|
||||||
"regexManagers": [
|
"regexManagers": [
|
||||||
{
|
{
|
||||||
"description": "Update version",
|
"description": "Update container image of createrepo.sh",
|
||||||
"fileMatch": [
|
"fileMatch": [
|
||||||
"^Makefile$"
|
"^createrepo.sh$"
|
||||||
],
|
],
|
||||||
"matchStrings": [
|
"matchStrings": [
|
||||||
"CREATE_REPO_VERSION\\?=(?<currentValue>.*) # renovate: datasource=(?<datasource>.*) depName=(?<depName>.*)( lookupName=(?<lookupName>.*))?( versioning=(?<versioning>.*))?"
|
"^CREATEREPO_IMAGE_FULLY_QUALIFIED=(?<depName>.*):(?<currentValue>.*)$"
|
||||||
]
|
],
|
||||||
|
"datasourceTemplate": "docker"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user