forked from eatvio/eatvio_app
Merge pull request 'fix(ci/cd): build tf env' (#360) from mso7nueh/eatvio_app:main into main
Reviewed-on: eatvio/eatvio_app#360
This commit is contained in:
92
Build-tf
92
Build-tf
@@ -1,30 +1,80 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
IDENTITY="Apple Distribution: ITVIO, OOO (VL68C36HYS)"
|
||||
P12_TMP_PATH="certs/distribution.p12"
|
||||
#!/bin/bash
|
||||
|
||||
echo "🔑 Decoding certificate..."
|
||||
echo "$CERTIFICATES_FILE_BASE64" | base64 --decode > "$P12_TMP_PATH"
|
||||
ls -l "$P12_TMP_PATH" # Проверим размер и существование файла
|
||||
|
||||
echo "📦 Preparing certificate..."
|
||||
mkdir -p certs
|
||||
echo "$CERTIFICATES_FILE_BASE64" | base64 --decode > "$P12_TMP_PATH"
|
||||
|
||||
echo "🔑 Importing .p12 certificate..."
|
||||
security import "$P12_TMP_PATH" -k login.keychain -P "$CERTIFICATES_PASSWORD" -T /usr/bin/codesign || {
|
||||
echo "❌ Failed to import .p12"
|
||||
exit 1
|
||||
}
|
||||
|
||||
security set-key-partition-list -S apple-tool:,apple: -s -k "$CERTIFICATES_PASSWORD" login.keychain
|
||||
|
||||
# 🧾 Проверка, что identity доступен
|
||||
if ! security find-identity -v -p codesigning | grep -q "${IDENTITY}"; then
|
||||
echo "❌ Signing identity '${IDENTITY}' not found in keychain."
|
||||
# Убедимся, что переменные CERTIFICATES_FILE_BASE64 и CERTIFICATES_PASSWORD установлены
|
||||
if [ -z "$CERTIFICATES_FILE_BASE64" ] || [ -z "$CERTIFICATES_PASSWORD" ]; then
|
||||
echo "❌ Переменные CERTIFICATES_FILE_BASE64 или CERTIFICATES_PASSWORD не установлены."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Указываем путь для временного файла .p12
|
||||
P12_TMP_PATH="./certs/distribution.p12"
|
||||
|
||||
# Создаем каталог, если его нет
|
||||
echo "📦 Preparing certificate..."
|
||||
mkdir -p certs
|
||||
|
||||
# Выводим первые 10 символов BASE64 строки для проверки
|
||||
echo "🔍 Проверка содержимого base64 строки..."
|
||||
echo "$CERTIFICATES_FILE_BASE64" | head -n 10
|
||||
|
||||
# Декодируем строку base64 и сохраняем в файл
|
||||
echo "🔑 Decoding certificate..."
|
||||
echo "$CERTIFICATES_FILE_BASE64" | base64 --decode > "$P12_TMP_PATH"
|
||||
|
||||
# Проверим, что файл был успешно создан
|
||||
if [ ! -f "$P12_TMP_PATH" ]; then
|
||||
echo "❌ Не удалось создать файл сертификата: $P12_TMP_PATH"
|
||||
exit 1
|
||||
else
|
||||
echo "✅ Файл сертификата успешно создан: $P12_TMP_PATH"
|
||||
ls -l "$P12_TMP_PATH" # Выведем информацию о файле
|
||||
fi
|
||||
|
||||
# Попробуем импортировать сертификат
|
||||
echo "🔑 Importing .p12 certificate..."
|
||||
security import "$P12_TMP_PATH" -k login.keychain -P "$CERTIFICATES_PASSWORD" -T /usr/bin/codesign
|
||||
|
||||
# Проверим, был ли сертификат успешно импортирован
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Ошибка при импорте сертификата. Проверьте правильность пароля."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Сертификат успешно импортирован."
|
||||
|
||||
# Проверим наличие нужной identity в ключнице
|
||||
IDENTITY="Apple Distribution: ITVIO, OOO (VL68C36HYS)"
|
||||
if ! security find-identity -v -p codesigning | grep -q "${IDENTITY}"; then
|
||||
echo "❌ Подпись identity '${IDENTITY}' не найдена в ключнице."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Определяем пути
|
||||
ARCHIVE_PATH="./archive" # Убедитесь, что ARCHIVE_PATH правильно задан
|
||||
APP_PATH="${ARCHIVE_PATH}/Products/Applications/Runner.app"
|
||||
FRAMEWORKS_PATH="${APP_PATH}/Frameworks"
|
||||
|
||||
# Убираем старые подписи
|
||||
echo "🔐 Removing old signatures..."
|
||||
codesign --remove-signature "${FRAMEWORKS_PATH}/App.framework/App"
|
||||
codesign --remove-signature "${FRAMEWORKS_PATH}/Flutter.framework/Flutter"
|
||||
|
||||
# Повторно подписываем фреймворки
|
||||
echo "🔐 Resigning App.framework..."
|
||||
codesign -f --deep --no-strict -s "${IDENTITY}" --preserve-metadata=entitlements,identifier,flags "${FRAMEWORKS_PATH}/App.framework/App"
|
||||
|
||||
echo "🔐 Resigning Flutter.framework..."
|
||||
codesign -f --deep --no-strict -s "${IDENTITY}" --preserve-metadata=entitlements,identifier,flags "${FRAMEWORKS_PATH}/Flutter.framework/Flutter"
|
||||
|
||||
# Подписываем самое приложение
|
||||
echo "🔐 Resigning Runner.app..."
|
||||
codesign -f --deep --no-strict -s "${IDENTITY}" --preserve-metadata=entitlements,identifier,flags "${APP_PATH}"
|
||||
|
||||
echo "✅ Resigning completed."
|
||||
|
||||
|
||||
#set -xeu
|
||||
#set -o pipefail
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user