Auto-update provisioning profiles when building PRs and nightlies on Jenkins.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
This commit is contained in:
Igor Mandrigin 2018-10-24 10:18:56 +02:00
parent 4b74344f4b
commit 8ba1b43349
No known key found for this signature in database
GPG Key ID: 4A0EDDE26E66BC8B
2 changed files with 31 additions and 16 deletions

View File

@ -13,20 +13,21 @@ GEM
highline (~> 1.7.2) highline (~> 1.7.2)
declarative (0.0.10) declarative (0.0.10)
declarative-option (0.1.0) declarative-option (0.1.0)
digest-crc (0.4.1)
domain_name (0.5.20180417) domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0) unf (>= 0.0.5, < 1.0.0)
dotenv (2.5.0) dotenv (2.5.0)
emoji_regex (0.1.1) emoji_regex (0.1.1)
excon (0.62.0) excon (0.62.0)
faraday (0.15.3) faraday (0.15.4)
multipart-post (>= 1.2, < 3) multipart-post (>= 1.2, < 3)
faraday-cookie_jar (0.0.6) faraday-cookie_jar (0.0.6)
faraday (>= 0.7.4) faraday (>= 0.7.4)
http-cookie (~> 1.0.0) http-cookie (~> 1.0.0)
faraday_middleware (0.12.2) faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0) faraday (>= 0.7.4, < 1.0)
fastimage (2.1.4) fastimage (2.1.5)
fastlane (2.107.0) fastlane (2.112.0)
CFPropertyList (>= 2.3, < 4.0.0) CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.3, < 3.0.0) addressable (>= 2.3, < 3.0.0)
babosa (>= 1.0.2, < 2.0.0) babosa (>= 1.0.2, < 2.0.0)
@ -42,6 +43,7 @@ GEM
fastimage (>= 2.1.0, < 3.0.0) fastimage (>= 2.1.0, < 3.0.0)
gh_inspector (>= 1.1.2, < 2.0.0) gh_inspector (>= 1.1.2, < 2.0.0)
google-api-client (>= 0.21.2, < 0.24.0) google-api-client (>= 0.21.2, < 0.24.0)
google-cloud-storage (>= 1.15.0, < 2.0.0)
highline (>= 1.7.2, < 2.0.0) highline (>= 1.7.2, < 2.0.0)
json (< 3.0.0) json (< 3.0.0)
mini_magick (~> 4.5.1) mini_magick (~> 4.5.1)
@ -63,7 +65,7 @@ GEM
xcpretty (~> 0.3.0) xcpretty (~> 0.3.0)
xcpretty-travis-formatter (>= 0.0.3) xcpretty-travis-formatter (>= 0.0.3)
fastlane-plugin-clean_testflight_testers (0.2.0) fastlane-plugin-clean_testflight_testers (0.2.0)
fastlane-plugin-diawi (1.2.0) fastlane-plugin-diawi (1.3.0)
rest-client (>= 2.0.0) rest-client (>= 2.0.0)
gh_inspector (1.1.3) gh_inspector (1.1.3)
google-api-client (0.23.9) google-api-client (0.23.9)
@ -74,10 +76,19 @@ GEM
representable (~> 3.0) representable (~> 3.0)
retriable (>= 2.0, < 4.0) retriable (>= 2.0, < 4.0)
signet (~> 0.9) signet (~> 0.9)
googleauth (0.6.6) google-cloud-core (1.2.7)
google-cloud-env (~> 1.0)
google-cloud-env (1.0.5)
faraday (~> 0.11)
google-cloud-storage (1.15.0)
digest-crc (~> 0.4)
google-api-client (~> 0.23)
google-cloud-core (~> 1.2)
googleauth (~> 0.6.2)
googleauth (0.6.7)
faraday (~> 0.12) faraday (~> 0.12)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
memoist (~> 0.12) memoist (~> 0.16)
multi_json (~> 1.11) multi_json (~> 1.11)
os (>= 0.9, < 2.0) os (>= 0.9, < 2.0)
signet (~> 0.7) signet (~> 0.7)
@ -127,15 +138,15 @@ GEM
unicode-display_width (~> 1.1, >= 1.1.1) unicode-display_width (~> 1.1, >= 1.1.1)
tty-cursor (0.6.0) tty-cursor (0.6.0)
tty-screen (0.6.5) tty-screen (0.6.5)
tty-spinner (0.8.0) tty-spinner (0.9.0)
tty-cursor (>= 0.5.0) tty-cursor (~> 0.6.0)
uber (0.1.0) uber (0.1.0)
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.7.5) unf_ext (0.0.7.5)
unicode-display_width (1.4.0) unicode-display_width (1.4.0)
word_wrap (1.0.0) word_wrap (1.0.0)
xcodeproj (1.6.0) xcodeproj (1.7.0)
CFPropertyList (>= 2.3.3, < 4.0) CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3) atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0) claide (>= 1.0.2, < 2.0)
@ -155,4 +166,4 @@ DEPENDENCIES
fastlane-plugin-diawi fastlane-plugin-diawi
BUNDLED WITH BUNDLED WITH
1.16.6 1.17.2

View File

@ -53,11 +53,14 @@ end
# builds an ios app with ad-hoc configuration and put it # builds an ios app with ad-hoc configuration and put it
# to "status-adhoc" output folder # to "status-adhoc" output folder
def build_ios_adhoc # `readonly`:
# if true - only fetch existing certificates and profiles, don't upgrade from AppStoreConnect
# if false - read list of devices from AppStoreConnect, and upgrade the provisioning profiles from it
def build_ios_adhoc(readonly)
match( match(
type: "adhoc", type: "adhoc",
force_for_new_devices: true, force_for_new_devices: true,
readonly: true, readonly: readonly,
keychain_name: "login.keychain" keychain_name: "login.keychain"
) )
@ -133,7 +136,7 @@ platform :ios do
desc "This .ipa is ready to be distibuted through diawi.com" desc "This .ipa is ready to be distibuted through diawi.com"
lane :adhoc do lane :adhoc do
unlock_keychain_if_needed unlock_keychain_if_needed
build_ios_adhoc build_ios_adhoc(true)
end end
desc "`fastlane ios e2e` - e2e lane for iOS." desc "`fastlane ios e2e` - e2e lane for iOS."
@ -147,20 +150,21 @@ platform :ios do
desc "`fastlane ios pr` - makes a new pr build" desc "`fastlane ios pr` - makes a new pr build"
desc "This lane builds a new adhoc build and leaves an .ipa that is ad-hoc signed (can be uploaded to diawi)" desc "This lane builds a new adhoc build and leaves an .ipa that is ad-hoc signed (can be uploaded to diawi)"
lane :pr do lane :pr do
adhoc unlock_keychain_if_needed
build_ios_adhoc(false)
end end
desc "`fastlane ios nightly` - makes a new nightly" desc "`fastlane ios nightly` - makes a new nightly"
desc "This lane builds a new nightly and leaves an .ipa that is ad-hoc signed (can be uploaded to diawi)" desc "This lane builds a new nightly and leaves an .ipa that is ad-hoc signed (can be uploaded to diawi)"
lane :nightly do lane :nightly do
adhoc unlock_keychain_if_needed
build_ios_adhoc(false)
end end
desc "`fastlane ios release` builds a release & uploads it to TestFlight" desc "`fastlane ios release` builds a release & uploads it to TestFlight"
lane :release do lane :release do
match( match(
type: "appstore", type: "appstore",
force_for_new_devices: true,
readonly: true, readonly: true,
keychain_name: "login.keychain" keychain_name: "login.keychain"
) )