ci: base64 key generating
This commit is contained in:
@@ -18,3 +18,9 @@ local.properties
|
|||||||
/app/build
|
/app/build
|
||||||
/app/release
|
/app/release
|
||||||
/.idea
|
/.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