Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notes about Fastlane Match. #50

Merged
merged 7 commits into from
Apr 11, 2019
Merged

Notes about Fastlane Match. #50

merged 7 commits into from
Apr 11, 2019

Conversation

zzcgumn
Copy link
Contributor

@zzcgumn zzcgumn commented Mar 4, 2019

Last week I had to do work on creating a version of the Babylon app that is signed for ad hoc distribution. It took me a fair amount of time to figure out how this can be done with Fastlane Match. The information I needed was scattered in several places. Hopefully you will be lucky enough that running bundle exec fastlane match is all you will ever need to do. If you are unlucky, I hope that this document will save you some time.

Copy link
Contributor

@daniloaliberti daniloaliberti left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few suggestions.
Very useful tips! ✨

Copy link
Contributor

@mluisbrown mluisbrown left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really useful doc 👍 Just left some minor grammar suggestions.

TechnicalDocuments/FastlaneMatch.md Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved

```ruby
match(app_identifier: "com.best.app.ever.seriously", type: "adhoc", git_branch: "best_app_ever_ad_hoc_signing")
match(app_identifier: "com.best.app.ever.seriously", type: "development", git_branch: "best_app_ever_dev_signing")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

git_branch usage needs to be updated. For details see comment above.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be more clear in this documentation that those are Ruby commands, not terminal commands.
Or better yet, put the corresponding Terminal commands here instead of the ruby function calls so that people know what to copy/paste in their Terminal to solve this case.

TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
mr-v
mr-v previously requested changes Mar 6, 2019
Copy link
Contributor

@mr-v mr-v left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noticed issue with readonly option spelling.

TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved

```ruby
match(app_identifier: "com.best.app.ever.seriously", type: "adhoc", git_branch: "best_app_ever_ad_hoc_signing")
match(app_identifier: "com.best.app.ever.seriously", type: "development", git_branch: "best_app_ever_dev_signing")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be more clear in this documentation that those are Ruby commands, not terminal commands.
Or better yet, put the corresponding Terminal commands here instead of the ruby function calls so that people know what to copy/paste in their Terminal to solve this case.

TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved

## Update Contents Manually

Apple does not allow more than two distribution certificates per account, so it can happen that fastlane match cannot create a new distribution certificate and is unable to figure out which existing certificate to link with a new provisioning profile. Fastlane match provides a utility for nuking all existing certificates and provisioning profiles and replace them with new ones generated by fastlane match. This is, however, not always advisable. Nuking existing enterprise certificates can be a really bad idea as in house apps will stop working.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Apple does not allow more than two distribution certificates per account, so it can happen that fastlane match cannot create a new distribution certificate and is unable to figure out which existing certificate to link with a new provisioning profile. Fastlane match provides a utility for nuking all existing certificates and provisioning profiles and replace them with new ones generated by fastlane match. This is, however, not always advisable. Nuking existing enterprise certificates can be a really bad idea as in house apps will stop working.
Apple does not allow more than two distribution certificates per account, so it can happen that fastlane match cannot create a new distribution certificate and is unable to figure out which existing certificate to link with a new provisioning profile. Fastlane match provides a utility to revoke and delete all existing certificates and provisioning profiles and replace them with new ones generated by fastlane match. This is, however, not always advisable. Revoking existing enterprise certificates will make all existing in-house builds (that said all existing HockeyApp builds) stop working. It does not affect any existing AppStore builds submitted to TestFlight or AppStore in any way.


## Update Contents Manually

Apple does not allow more than two distribution certificates per account, so it can happen that fastlane match cannot create a new distribution certificate and is unable to figure out which existing certificate to link with a new provisioning profile. Fastlane match provides a utility for nuking all existing certificates and provisioning profiles and replace them with new ones generated by fastlane match. This is, however, not always advisable. Nuking existing enterprise certificates can be a really bad idea as in house apps will stop working.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It shouldn't really happen that we need more than one distribution certificate. I'd rephrase it and maybe would hide the whole section under summary tag as this is something we wouldn't ever need to do any more since we now fully manage our certificates via match.

TechnicalDocuments/FastlaneMatch.md Outdated Show resolved Hide resolved
certs/enterprise
```

It might be necessary to manually make a certificate available in both the enterprise and distribution folder. Copying the files did not work (February 2019), but adding a soft link did.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is very tricky advice. Enterprise certificates are only available for enterprise teams, distribution (AppStore) - only for "regular" teams. Why and how would one use the same certificate for enterprise and AppStore builds then?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ad hoc builds.

@zzcgumn zzcgumn force-pushed the martin/fastlane-notes branch 2 times, most recently from ea5edcc to 1b93a93 Compare April 8, 2019 15:43
@zzcgumn zzcgumn requested a review from mr-v April 11, 2019 12:23
@zzcgumn zzcgumn dismissed mr-v’s stale review April 11, 2019 15:21

Witold is on holiday and said that he was happy for this to be merged if Ilya was happy with the latest changes.

@zzcgumn zzcgumn merged commit 83538e7 into master Apr 11, 2019
@zzcgumn zzcgumn deleted the martin/fastlane-notes branch April 11, 2019 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants