forked from agzam/vyatsu-schedule
ci: base64 key generating
This commit is contained in:
@@ -18,3 +18,9 @@ local.properties
|
||||
/app/build
|
||||
/app/release
|
||||
/.idea
|
||||
|
||||
# Keystore подписи и его base64-представление для Gitea-секрета
|
||||
*.jks
|
||||
*.keystore
|
||||
/scripts/.keystore.b64
|
||||
.keystore.b64
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Готовит содержимое keystore (.jks) для вставки в секрет ANDROID_KEYSTORE
|
||||
# Кодирует файл в base64 одной длинной строкой (без переносов) и сохраняет в файл .keystore.b64 рядом со скриптом.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: <path>" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
KEYSTORE="$1"
|
||||
|
||||
if [ ! -f "$KEYSTORE" ]; then
|
||||
echo "File not found: $KEYSTORE" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# base64 -w0: без переносов строк. (на macOS base64 не имеет -w)
|
||||
if base64 --help 2>/dev/null | grep -q '\-w'; then
|
||||
ENCODED=$(base64 -w0 "$KEYSTORE")
|
||||
else
|
||||
ENCODED=$(base64 <"$KEYSTORE" | tr -d '\n')
|
||||
fi
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
OUTFILE="$SCRIPT_DIR/.keystore.b64"
|
||||
printf '%s\n' "$ENCODED" >"$OUTFILE"
|
||||
|
||||
echo "Keystore: $KEYSTORE"
|
||||
echo "Output: $OUTFILE"
|
||||
echo "Size: ${#ENCODED} chars"
|
||||
Reference in New Issue
Block a user