1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors_Tencent-Hippy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
PUBLISH.md 8.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 11:15 01ccc82

Hippy publish document

Hippy использует принцип управления версиями, согласно которому все модули используют одну и ту же версию.

1. Обновление номера версии

Во фронтенде используется lerna для управления версиями и генерации CHANGELOG, но его функциональность публикации не может быть использована, поскольку необходимо обновить пакет терминала.

Использование обновления версии и CHANGELOG:

npx lerna version [VERSION] --force-publish --conventional-commits --tag-version-prefix='' --no-push
  • [версия] — номер версии для выпуска, например 2.1.0.
  • --conventional-commits — генерирует CHANGELOG на основе спецификации обычных коммитов.
  • --tag-version-prefix — изменяется на нулевой символ, чтобы сгенерированный тег номера версии не предварялся префиксом по умолчанию v.
  • --no-push — не отправляет теги на удалённый сервер.

2. Откат коммита и удаление автоматически сгенерированного тега

После того как Lerna сгенерирует номер версии и CHANGELOG, необходимо откатить версию, а все опубликованные изменения объединить в коммит.

git reset --soft HEAD^

Удалить тег одновременно, через некоторое время обновить необходимость перегенерировать тег

git tag -d [VERSION]

3. Обновите собственный номер версии

Собственный номер версии в основном находится в следующих файлах, которые необходимо обновить до номера версии, который будет выпущен.

iOS

Android

Изменить конфигурацию abi для Android, поддерживая armeabi-v7a и arm64-v8a

INCLUDE_ABI_ARMEABI_V7A=true
INCLUDE_ABI_ARM64_V8A=true

4. Обновите встроенные пакеты и проверьте функциональность

Новый фронтенд SDK затем компилируется с помощью

npm run build

Если какой-то код был обновлён под core/js, вам нужно скомпилировать основной код с помощью

npm run buildcore

Затем обновите зависимости в целевой папке examples и обновите встроенные пакеты native. Как правило, встроенный hippy-react-demo является стандартным, но обязательно убедитесь, что hippy-vue-demo работает правильно.

npm run buildexample hippy-react-demo

5. Повторно отправьте, когда всё готово

Ещё раз проверьте, что все файлы были изменены правильно

git status

Отправьте изменение документа

git add [FILES]

Введите сообщение о фиксации, соответствующее спецификациям Convention Commit

git commit -m 'chore(release): released [VERSION]'

Тег (если это основная версия, то тег ставится в основной ветке, если это исправление, то в ветке исправления, затем CHANGELOG объединяется обратно в основную ветку)

git tag -a [VERSION] -m "version release xxx"

Зафиксируйте код и подготовьтесь к публикации PR слияния в главную ветку.

git push origin branch       # отправить код
git push origin tag          # отправить тег

6. Опубликовать

  • Фронтенд публикуется на npmjs.com

    npx lerna exec "npm publish"

    Если включена вторичная аутентификация npm, вам будет предложено ввести одноразовый пароль.

  • iOS публикуется на CocoaPods.org

    • Если у вас нет учётной записи CocoaPod, зарегистрируйтесь сначала
      pod trunk register [EMAIL] [NAME]
    • Затем опубликуйте
     pod trunk push hippy.podspec

    Если при публикации проверка параметров завершается неудачно, вы можете добавить параметр COCOAPODS_VALIDATOR_SKIP_XCODEBUILD=1 перед командой pod.

  • Android выпущен в Maven Central, исходный репозиторий jCenter больше не поддерживается запрос версии.

    • Следуйте инструкциям по публикации Maven Central и зарегистрируйтесь на sonatype.

    • Увеличьте конфигурацию системной переменной среды

      SIGNING_KEY_ID=gpg公钥key后8位
      SIGNING_PASSWORD=gpg密钥对密码
      SIGNING_SECRET_KEY_RING_FILE=gpg文件存放路径, 如/Users/user/.gnupg/secring.gpg
      OSSRH_USERNAME=sonatype账号
      OSSRH_PASSWORD=sonatype密码
    • Запустите сборку Clean Project

    • Android В файле gradle.properties включается комментарий #PUBLISH_ARTIFACT_ID=hippy-debug, и Gradle Task выполняет команду assembleDebug перед командой publish.

В файле Android gradle.properties включается комментарий #PUBLISH_ARTIFACT_ID=hippy-common, и Gradle Task выполняет команду assembleRelease перед командой publish.

После успешного выпуска SDK будет находиться в состоянии staging на Sonatype. В левой части Staging Repositories репозиториев Sonatype Staging можно найти только что выпущенный репозиторий. Если вы хотите протестировать перед выпуском, то можете скачать aar из раздела Content, заменив examples => android-demo => example => libs под aar (имя — android-sdk-release.aar).

// аннотация локальной ссылки в setting.gradle
// include 'android-sdk'
// project(':android-sdk').projectDir = new File('../../ android/sdk')

--------------

// `android-demo` => `example` => `build.gradle` зависимости можно изменить следующим образом, чтобы использовать локальный файл aar:
if (1) {
    api (name: 'android-sdk-release', ext: 'aar')
} else {
     api project(path: ':android-sdk')
}

После успешной проверки закройте репозиторий Staging Repositories и нажмите Release.

После успеха релиза можно искать в репозитории соответствующую версию aar. Страница Maven home должна синхронизироваться более двух часов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors_Tencent-Hippy.git
git@api.gitlife.ru:oschina-mirror/mirrors_Tencent-Hippy.git
oschina-mirror
mirrors_Tencent-Hippy
mirrors_Tencent-Hippy
main