After reading the docs, I think you have to have to think differently about branch and channel.
Channels are specified at build time and exist inside a build's native code.
and
Branches are an ordered list of updates, similar to a Git branch, which is an ordered list of commits.
With EAS Update, we can link any channel to any branch, allowing us to make different updates available to different builds.
So first you have to "publish" the update group to a branch and then you gotta link the channel to point to that branch.
I imagine it could look like
eas update --branch staging-1.0.1
eas channel:edit staging --branch staging-1.0.1
Please correct me if I'm wrong about anything here.
https://github.com/expo/eas-cli#eas-channeledit-name
Answer from Norfeldt on Stack OverflowAfter reading the docs, I think you have to have to think differently about branch and channel.
Channels are specified at build time and exist inside a build's native code.
and
Branches are an ordered list of updates, similar to a Git branch, which is an ordered list of commits.
With EAS Update, we can link any channel to any branch, allowing us to make different updates available to different builds.
So first you have to "publish" the update group to a branch and then you gotta link the channel to point to that branch.
I imagine it could look like
eas update --branch staging-1.0.1
eas channel:edit staging --branch staging-1.0.1
Please correct me if I'm wrong about anything here.
https://github.com/expo/eas-cli#eas-channeledit-name
This was also hard to understand for me but now I got it. Unfortunately the docs are so far not really clear.
EAS builds retrieve updates from the channel specified in eas.json. So normally for production builds you would have a channel named "production".
If you now want to run an EAS Update to distribute changes to clients you won't publish directly to a channel but instead you go a detour using branches. Because branches are linked to channels you can work with different branches (e.g. for different versions) and then you only need to change the branch-channel link to publish an update.
To change the linking between a branch and a channel you run:
eas channel:edit
In an simplified setup (like mine) you would have a git branch called production and also a channel with the same name. To publish an update you then just run:
eas update --branch production
or
eas update --auto
In the latter case EAS then sets your current git branch as the branch name, so you could check out the production branch and then run this command to publish the update.
I'm seriously confused with all this talk about channels, branches and whatnot.
How would I do to be able to push changes directly to my production build?
When I do my builds, i just do:
eas build --platform ios --auto-submit
I guess that uses the production setting below?
eas.json
{
"cli": {
"version": ">= 3.10.2"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"android": {
"buildType": "apk"
}
},
"development-simulator": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": true
}
},
"preview": {
"distribution": "internal"
},
"production": {}
},
"submit": {
"production": {}
}
}
» npm install eas-cli
Hi everyone, I have a managed app that previously was deployed and updated using the classic build/update module. I have updated the app to use eas builds and updates using eas update:configure, and created builds using eas build --platform android/ios. The builds have been submitted to the app-stores and have been deployed, but now I am struggling using the EAS updates: I am able to create a branch using eas update --branch preview --message "Updating the app", but now I want to deploy the actual changes. I expect to see something in the 'deployments' tab in my expo profile (can see the branches fine), but I see nothing in the deployments, only the message saying 'Create a deployment, Deployments display the state of your builds and updates'. I have gone through the documents but am still having issues deploying updates. Can someone please help me I will be eternally grateful.