add action
Cette révision appartient à :
@@ -0,0 +1,81 @@
|
||||
name: Build & Push Nextcloud Docker Image (registry cache)
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "Nextcloud version (ex: 26.0.1). Leave empty for latest"
|
||||
required: false
|
||||
latest:
|
||||
description: "Tag as latest (true/false)"
|
||||
required: false
|
||||
default: "false"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install tools
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y curl jq
|
||||
|
||||
- name: Determine Nextcloud version
|
||||
run: |
|
||||
if [ -z "${{ inputs.version }}" ]; then
|
||||
NC_VERS=$(curl -s https://api.github.com/repos/nextcloud/server/releases/latest \
|
||||
| jq -r '.tag_name' | tr -d 'v')
|
||||
else
|
||||
NC_VERS="${{ inputs.version }}"
|
||||
fi
|
||||
|
||||
MAJOR_VERS=$(echo "$NC_VERS" | cut -d. -f1)
|
||||
|
||||
if [ "$MAJOR_VERS" -lt 24 ]; then
|
||||
echo "Unsupported Nextcloud major version: $MAJOR_VERS"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "NC_VERS=$NC_VERS" >> $GITHUB_ENV
|
||||
echo "MAJOR_VERS=$MAJOR_VERS" >> $GITHUB_ENV
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Login to Gitea Registry
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: git.celjim.fr
|
||||
username: ${{ secrets.GITEA_REGISTRY_USERNAME }}
|
||||
password: ${{ secrets.GITEA_REGISTRY_PASSWORD }}
|
||||
|
||||
- name: Build & push with registry cache
|
||||
run: |
|
||||
docker buildx build \
|
||||
--push \
|
||||
--build-arg NC_VERS=$NC_VERS \
|
||||
--cache-from type=registry,ref=git.celjim.fr/jimmygalland/nextcloud:buildcache \
|
||||
--cache-to type=registry,ref=git.celjim.fr/jimmygalland/nextcloud:buildcache,mode=max \
|
||||
-t jimmygalland/nextcloud:$NC_VERS \
|
||||
-t git.celjim.fr/jimmygalland/nextcloud:$NC_VERS \
|
||||
./$MAJOR_VERS
|
||||
|
||||
- name: Tag & push latest
|
||||
if: ${{ inputs.latest == 'true' }}
|
||||
run: |
|
||||
docker tag jimmygalland/nextcloud:$NC_VERS jimmygalland/nextcloud:latest
|
||||
docker tag jimmygalland/nextcloud:$NC_VERS git.celjim.fr/jimmygalland/nextcloud:latest
|
||||
|
||||
docker push jimmygalland/nextcloud:latest
|
||||
docker push git.celjim.fr/jimmygalland/nextcloud:latest
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur