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
[docs] Add publish an update guide and other changes #27665
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
4ec6c1e
[docs] Add publish an update guide and other changes
amandeepmittal 084e645
Update publish.mdx
amandeepmittal d57be26
Apply suggestions from code review
amandeepmittal b46722b
Update docs/pages/eas-update/publish.mdx
amandeepmittal d7003f7
Update docs/pages/eas-update/publish.mdx
amandeepmittal c2f986d
Update docs/pages/eas-update/publish.mdx
amandeepmittal File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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 | ||
amandeepmittal marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
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/) | ||
amandeepmittal marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- 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} | ||
/> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@brentvatne, as per your recent feedback, I've added a link to Review > Overview that mentions sharing a preview version.