Рекомендации по созданию артефактов мобильных (ios, android) приложений для непроизводственной и производственной сред - PullRequest
1 голос
/ 27 мая 2020

Мне нужно создать артефакт мобильного приложения для нескольких env. Цель состоит в том, чтобы продвигать один и тот же артефакт в нескольких env (dev, qa, preprod и prod). Мобильный артефакт использует URL-адрес saas, который изменяется с env на env. Пожалуйста, дайте мне знать, как это сделать.

В настоящее время, когда артефакт проходит qa, я создаю еще один артефакт для предварительной обработки и, наконец, для обработки, что отнимает много времени и подвержено ошибкам.

Я подумываю создать активный URL-адрес env и api версии выпуска. Какая лучшая практика?

Спасибо,

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Следующее верно, если вы используете gradle:

  1. Для build.gradle верхнего уровня определите параметр appId:
allprojects {
    ext {
        appId = 'com.my.app'
    }
}
Для build.gradle модуля приложения определите разновидности и используйте указанный выше параметр:
android {
    def globalConfig = rootProject.extensions.getByName("ext")

    productFlavors {
        dev {
            applicationId globalConfiguration["appId"] + ".dev"
            ...
            buildConfigField "String", "YOUR_ENDPOINT", "\"https://my.dev.env/\""
        }
        qa {
            applicationId globalConfiguration["appId"] + ".qa"
            ...
            buildConfigField "String", "YOUR_ENDPOINT", "\"https://my.qa.env/\""
        }
}
Создание приложения с использованием указанного c вкуса + использование BuildConfig.YOUR_ENDPOINT в коде.
0 голосов
/ 27 мая 2020

Я думаю, что android-ароматизаторы решат вашу проблему.

Я выгляжу как эти примеры ниже.

  flavorDimensions "default"
    productFlavors{
        dev{
            applicationId "com.amitgupta.trust_app_android.dev"
        }
        staging{
            applicationId "com.amitgupta.trust_app_android.staging"
        }
        qa{
            applicationId "com.amitgupta.trust_app_android.qa"
        }
        production{
            applicationId "com.amitgupta.trust_app_android.production"
        }

    }

Вы также можете использовать разные URL-адреса на основе в другой среде.

flavorDimensions "version"
    productFlavors {
        QA {
            buildConfigField "String", "BASE_URL", '"http://qa.com/api/"'
        }
        production {
            buildConfigField "String", "BASE_URL", '"http://production.com/api/"'
        }
    }

Пожалуйста, посмотрите на их реализацию.

https://medium.com/@hsmnzaydn / configuration-product-flavors-and-build-options-in- android -bb9e54d459af

https://www.journaldev.com/21533/android-build-types-product-flavors

Для iOS: вы можете использовать схемы и Build конфигураций в Xcode. Вот официальная документация: https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/Articles/BasingBuildConfigurationsonConfigurationFiles.html

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...