This is a fork of fastlane/boarding and the source for https://mobilebeta.strava.com. This portion of the README.md covers how to maintain this source for Strava specific use at https://mobilebeta.strava.com. Below you will find the original contents of the fastlane/boarding README.md.
To customize this version of boarding
make changes, test them locally, and submit them as a pull request.
Prerequisites:
- Docker
- The shared password for the iTMS account [email protected] available in mobile.kdbx in
strava/administration
.
Running a local instance via docker:
- Modify
docker-compose.yml
to include the shared password peer toITC_USER
, in the formITC_PASSWORD: 'XXXXX'
whereXXXXX
is the actual password. - Run
docker-compose-up
and visit http://localhost:3000
fastlane/boarding
relies heavily on fastlane
and spaceship
as dependencies. Both those dependencies change rapidly to comform to iTunes Connect updates and so this service may periodically break. Typically this can be fixed by merging from the canonical fastlane/boarding
.
git pull https://github.com/fastlane/boarding
- Resolve any merge conflicts -
Gemfile.lock
may conflict, in which case it can be easiest to just discard the changes to that file and then runbundle install
- then commmit the merge commit. - Push the changes back to this repository or open a pull request on a branch and merge it
Once any changes or maintenence is done you can deploy the service using marathon.
Prerequisites:
- strava/configuration
- Access to deploy (VPN access to DMZ for instance)
- Ensure your changes are functional and merged
- Ensure a docker image has been created and pushed
docker-compose build && docker-compose push
- From
strava/configuration
in themesos
subdirectory./tools/mesos_deploy ./services/iphone-boarding/iphone-boarding.conf
The original fastlane/boarding README.md follows below…
deliver • snapshot • frameit • pem • sigh • produce • cert • spaceship • pilot • boarding • gym • scan
------- -------Get in contact with the developers on Twitter: @FastlaneTools
Why? • Getting Started • Technical Details • Customize • Update
boarding
is part of fastlane: connect all deployment tools into one streamlined workflow.
Instantly create a simple signup page for TestFlight beta testers.
Have you ever been to an airport, where you had to ask the manager of the airport if you can board now? Once the manager agrees, you'll be carried from your check-in to your gate into your plane.
Because that's what you do right now as an app developer when you want to add a new tester to your TestFlight app: Open Screenshots
Why don't you have a simple web site you can share with potential testers (e.g. email newsletter, Facebook, Twitter) on which people interested in trying out your new app can just board
on their own?
Thanks to spaceship.airforce (oh well, I really talk a lot about flying 🚀) it is now possible to automate the boarding process for your TestFlight beta testers.
#####Take a look at this live example page: boarding.herokuapp.com
Like this tool? Be the first to know about updates and new fastlane tools
Assuming you already have a Heroku account follow those steps:
- Enter your iTunes Connect credentials and the bundle identifier of your app. This will all be stored on your own Heroku instance as environment variables
- Click on
View
once the setup is complete and start sharing the URL
boarding
does all kinds of magic for you, like fetching the app name and app icon.
Heroku is free to use for the standard machine. If you need a Heroku account, ask your back-end team if you already have a company account.
If your account is protected using 2-factor author, follow the 2 step verification guide.
To secure your webpage, you only have to set the ITC_TOKEN
environment variable to any password.
- You can send your users the link and tell them the password
- You can send them the direct link including the token like this: https://url.com/?token=[password]
Required:
ITC_USER
iTunes Connect usernameITC_PASSWORD
iTunes Connect passwordITC_APP_ID
The Apple ID or Bundle Identifier of your app
Optional:
ITC_TOKEN
Set a password to protect your website from random people signing upITC_CLOSED_TEXT
Set this text to temporary disable enrollment of new beta testersRESTRICTED_DOMAIN
Set this domain (in the formatdomain.com
) to restrict users with emails in another domain from signing up. This list supports multiple domains by setting it to a comma delimited list (domain1.com,domain2.com
)FASTLANE_ITC_TEAM_NAME
If you're in multiple teams, enter the name of your iTC team here. Make sure it matches.
With Heroku you can easily use your own domain, follow this guide.
boarding
is part of fastlane, which helps you automate everything you usually do manually as an iOS developer.
Using spaceship.airforce it is possible to manage testers, builds, metadata, certificates and so much more.
This repository is a simple Rails application with most code in these files:
More information about this automation process can be found here.
If you want to change the design, layout or even add new features:
- Install the Heroku toolbelt and
heroku login
- Clone your application using
heroku git:clone --app [heroku_app_name]
cd [heroku_app_name]
- Modify the content, in particular the files that are described above.
- Test it locally by running
ITC_USER="email" ITC_... rails s
and opening http://127.0.0.1:3000 - Commit the changes
git push
It is recommended to also store your version in your git repo additionally to Heroku.
From time to time there will be updates to boarding
. There are 2 ways to update your Heroku application:
- Install the Heroku toolbelt and
heroku login
- Clone your application using
heroku git:clone --app [heroku_app_name]
cd [heroku_app_name]
git pull https://github.com/fastlane/boarding
git push
- Delete your application on heroku.com
- Create a new boarding application
- Enter your user credentials again
Special thanks to @lee_moonan for designing the awesome logo.
Help us keep boarding
open and inclusive. Please read and follow our Code of Conduct.
This project is licensed under the terms of the MIT license. See the LICENSE file.
This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.