Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[docs] Add publish an update guide and other changes (#27665)
# Why <!-- Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests. --> This came up recently in a conversation with @brentvatne as we do not have a page where we describe how to publish an update and how it works briefly. # How <!-- How did you build this feature or fix this bug and why? --> In the EAS Update section, this PR: - Adds a guide on "How to publish an update" - Updates EAS Update introduction with a BoxLink to the above guide - Updates EAS Update Get started guide by removing the Step 7 which describes the command to publish and test the update and instead add a next to the above guide Other changes: - Rename "Use EAS CLI" doc to "Manage branches and channels with EAS CLI" as the title and description didn't match the contents of the doc. - Rename "Develop faster" doc to "Updates distribution during development" as the title didn't match the contents of the doc. - Use EAS Update logo in BoxLinks - Fix minor verbiage issues - Link from Publish an update guide to Orbit guide in Review section (http://docs.expo.dev-pr-26064.s3-website-us-east-1.amazonaws.com/review/with-orbit/) in #26064 # Test Plan <!-- Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests! If possible, please also provide terminal output and/or screenshots demonstrating your test/reproduction. --> Run docs locally and visit: http://localhost:3002/eas-update/publish/ or see preview: http://docs.expo.dev-pr-27665.s3-website-us-east-1.amazonaws.com/eas-update/publish/. # Checklist <!-- Please check the appropriate items below if they apply to your diff. This is required for changes to Expo modules. --> - [x] Documentation is up to date to reflect these changes (eg: https://docs.expo.dev and README.md). - [x] Conforms with the [Documentation Writing Style Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md) - [ ] This diff will work correctly for `npx expo prebuild` & EAS Build (eg: updated a module plugin). --------- Co-authored-by: Quinlan Jung <quin@expo.io>
- Loading branch information
1 parent
97f5b42
commit e747609
Showing
6 changed files
with
108 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,20 @@ | ||
--- | ||
title: Develop with EAS Update | ||
sidebar_title: Develop faster | ||
description: Learn how to iterate faster with EAS Update. | ||
title: Updates distribution during development | ||
sidebar_title: Distribution during development | ||
description: Learn how to iterate faster with EAS Update during the development phase. | ||
hideTOC: true | ||
--- | ||
|
||
import ImageSpotlight from '~/components/plugins/ImageSpotlight'; | ||
|
||
EAS Update helps us fix critical bugs in production. It can also help us iterate faster with our team during development. | ||
|
||
## Distributing updates to others during development | ||
|
||
Whether a new feature is being developed, stabilized, QA'd, or critiqued, it's often useful to to allow others to preview what it looks and feels like before it is released to production. | ||
|
||
Traditionally previewing meant re-building the project and distributing it to a reviewer manually. Previewing features with EAS Update removes the need for re-building in most cases and can help us preview new features more quickly. | ||
Traditionally previewing meant re-building the project and distributing it to a reviewer manually. Previewing features with EAS Update removes the need for rebuilding in most cases and can help us preview new features quicker. | ||
|
||
A published update can be loaded in various environments: | ||
|
||
- A [development build](/eas-update/expo-dev-client/) with a matching runtime version, distributed through [internal distribution](/build/internal-distribution/) or as an emulator or simulator build. | ||
- A release build distributed via Google Play beta, TestFlight, or [internal distribution](/build/internal-distribution/) with a matching runtime version and channel pointing to a branch with the published update. With this strategy, often an EAS Update channel like "alpha" or "beta" will be used, and builds and updates will be created from development branches in source control. | ||
- Expo Go can also load published updates in cases where custom native code is not used. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
--- | ||
title: How to publish an update | ||
sidebar_title: Publish an update | ||
description: Learn how to publish an update to a specific branch with EAS Update. | ||
--- | ||
|
||
import { Terminal } from '~/ui/components/Snippet'; | ||
import { BoxLink } from '~/ui/components/BoxLink'; | ||
import { LayersTwo02Icon } from '@expo/styleguide-icons'; | ||
|
||
Publishing an update allows: | ||
- Fixing bugs and quickly updating non-native parts of a project instead of creating a new build | ||
- [Sharing a preview version of an app](/review/overview/) using internal distribution | ||
|
||
This guide explains the steps required to publish an update, how it works, and methods to test it. | ||
|
||
## Publish an update | ||
|
||
To publish an update with changes from your project, you can use the `eas update` command, and specify a name for the `branch` and a `message` to describe the update: | ||
|
||
<Terminal cmd={['$ eas update --branch [branch-name] --message "[message]"']} /> | ||
|
||
### How does publishing an update work | ||
|
||
When you publish an update with the `eas update` command, it generates a new update bundle and uploads it to the EAS servers. The `branch` name is used to identify the update and is associated with the uploaded bundle. It is similar to how Git commit works, where every commit is associated with a Git branch. | ||
|
||
For example, you want to publish an update for the [`development` build profile](/build/eas-json/#build-profiles). You can use it as the branch name to associate the update with its build profile. When the app requests an update, it will download the update associated with the `development` branch. | ||
|
||
For this example, the command to publish an update with the `development` branch and a message is: | ||
|
||
<Terminal cmd={['$ eas update --branch development --message "Fixes typo"']} /> | ||
|
||
The above command runs `npx expo export` behind the scenes to generate a **dist** directory and create a local update bundle. This update bundle is uploaded to EAS servers. | ||
|
||
<BoxLink | ||
title="In-depth guide on how EAS Update works" | ||
description="Dive deep and learn how EAS Update works." | ||
href="/eas-update/how-it-works/" | ||
Icon={LayersTwo02Icon} | ||
/> | ||
|
||
## Test a published update | ||
|
||
After the update is uploaded to EAS, you can use one of the following methods to test the update: | ||
|
||
- [Use the Extensions tab in a development build](/eas-update/expo-dev-client/) | ||
- [Expo Orbit to install and launch the update](/review/with-orbit/) | ||
- Implement a custom strategy with [Updates API](/versions/latest/sdk/updates/) and [app config](/versions/latest/config/app/#updates) to load updates in the app programmatically | ||
- Manually test the update by force closing and reopening your build up to two times to download and view the update | ||
|
||
> Updates for non-development builds (preview or production) are automatically downloaded to the device when the app starts up and makes a request for any new updates. | ||
## Troubleshooting | ||
|
||
If your app is not updating as expected, see the following debugging guides for techniques to validate your configuration: | ||
|
||
<BoxLink | ||
title="Debug EAS Update" | ||
description="Learn how to troubleshoot and debug an EAS Update." | ||
href="/eas-update/debug/" | ||
Icon={LayersTwo02Icon} | ||
/> | ||
|
||
<BoxLink | ||
title="Advanced EAS Update Debugging" | ||
description="Learn advanced strategies to debug an EAS Update." | ||
href="/eas-update/debug-advanced/" | ||
Icon={LayersTwo02Icon} | ||
/> |