Version 3
Support for multiple libraries synchronization (#44, #43, #41) Support for Docker Secrets (#25) Support for Seafile client's version through Docker tags (#9) Mock Seafile server for testings (#6) Revised project layout and workflow (#38, #39) Working Docker Hub description publishing (#10)
This commit is contained in:
56
scripts/publish-images.sh
Normal file
56
scripts/publish-images.sh
Normal file
@@ -0,0 +1,56 @@
|
||||
# !/bin/bash
|
||||
|
||||
# Docker Seafile client, help you mount a Seafile library as a volume.
|
||||
# Copyright (C) 2019-2020, flow.gunso@gmail.com
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
set -ex
|
||||
|
||||
raise() {
|
||||
echo $1
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Validate the required parameters.
|
||||
# [[ -z "$DOCKER_HUB_BOT_USERNAME" ]] && raise "Missing DOCKER_HUB_BOT_USERNAME envvar."
|
||||
# [[ -z "$DOCKER_HUB_BOT_TOKEN" ]] && raise "Missing DOCKER_HUB_BOT_TOKEN envvar."
|
||||
# [[ -z "$DOCKER_HUB_OWNER_USERNAME" ]] && raise "Missing DOCKER_HUB_OWNER_USERNAME envvar."
|
||||
# [[ -z "$DOCKER_HUB_OWNER_TOKEN" ]] && raise "Missing DOCKER_HUB_OWNER_TOKEN envvar."
|
||||
# [[ -z "$DOCKER_HUB_IMAGE" ]] && raise "Missing DOCKER_HUB_IMAGE envvar"
|
||||
|
||||
# Grab version with the container
|
||||
version="$(docker run --rm seafile-client:$TARGET cat -s /SEAFILE_VERSION)"
|
||||
version="$(echo ${version%-*})"
|
||||
|
||||
# Output the version to an artifact for documentation rendering.
|
||||
mkdir -p versions/
|
||||
echo $version >> "versions/$TARGET"
|
||||
|
||||
# Generate version tags.
|
||||
tags=()
|
||||
#[[ "$TARGET" =~ "unstable" ]] && tags+=("latest")
|
||||
for version_component in $(echo $version | tr '.' '\n'); do
|
||||
tag+="$version_component"
|
||||
tags+=("$tag")
|
||||
tag+="."
|
||||
done
|
||||
|
||||
# Tag then push to the Docker Hub registry.
|
||||
echo $DOCKER_HUB_BOT_TOKEN | docker login --password-stdin --username $DOCKER_HUB_BOT_USERNAME
|
||||
for tag in "${tags[@]}"; do
|
||||
docker tag seafile-client:$TARGET $DOCKER_HUB_IMAGE:$tag
|
||||
docker push $DOCKER_HUB_IMAGE:$tag
|
||||
done
|
||||
Reference in New Issue
Block a user