分配别名并提升到生产

了解部署 URL 以及如何设置别名。


部署

🌐 Deployments

部署到 EAS 托管是不可更改的。每次部署都可以通过由预览子域名和部署 ID 组成的唯一部署 URL 访问。

🌐 Deployments to EAS Hosting are immutable. Each deployment is accessible via a unique deployment URL consisting of the preview subdomain name and the deployment ID.

预览子域名

🌐 Preview subdomain name

要为项目激活 EAS 托管,你需要选择一个预览子域名。你可以通过在 expo.dev 网站上项目的 Hosting 部分进行选择。或者,当你使用 EAS CLI 创建第一次部署时,也会提示你选择一个预览子域名。

🌐 To activate EAS Hosting for a project, you'll need to choose a preview subdomain name. You can do this via the Hosting section of your project on the expo.dev website. Alternatively, you'll be prompted to choose a preview subdomain when you create your first deployment using the EAS CLI.

预览和生产 URL

🌐 Preview and production URLs

预览子域名是用于你应用预览网址的前缀。例如,如果你选择 my-app 作为预览子域名,你的预览网址将是:https://my-app--or1170q9ix.expo.app/,而你的生产网址将是:https://my-app.expo.app/

🌐 A preview subdomain name is a prefix used for the preview URL of your app. For example, if you choose my-app as the preview subdomain name, your preview URL would be: https://my-app--or1170q9ix.expo.app/, and your production URL would be: https://my-app.expo.app/.

部署 ID

🌐 Deployment ID

每次部署都可以通过唯一的部署ID进行识别。该ID可以自定义,但默认情况下将是由字母和数字组成的随机字符串。

🌐 Each deployment is identifiable using a unique deployment ID. This ID can be customized but will be a random string of letters and numbers by default.

部署是不可变的。一旦部署完成,就无法更改,并且始终可以使用其部署 ID 进行访问和识别。

🌐 Deployments are immutable. Once they are deployed, they cannot be changed and will always remain accessible and identifiable using their deployment ID.

别名

🌐 Aliases

别名是用于创建部署自定义 URL 的用户定义值。

🌐 Aliases are user-defined values used for creating custom URLs for deployments.

要创建部署并将其分配给别名,请使用 --alias 选项:

🌐 To make a deployment and assign it to an alias, use the --alias option:

Terminal
eas deploy --alias hello

上述命令将创建一个部署,既有位于 https://my-app--or1170q9ix.expo.app/ 的标准 URL,也有位于 https://my-app--hello.expo.app/ 的别名。

🌐 The above command will create a deployment with both a standard URL at https://my-app--or1170q9ix.expo.app/ and an alias at https://my-app--hello.expo.app/.

别名在每个项目中都是唯一的。如果你选择了一个已经被使用的别名,它将会被重新分配给新的部署。

一个部署可以有多个别名。也可以使用 --id 选项将别名分配给现有部署:

🌐 A single deployment can have multiple aliases. Aliases can also be assigned to an existing deployment by using the --id option:

Terminal
eas deploy:alias --id=my-id

在上述命令中,my-id 是预览 URL 中的 ID。

🌐 In the above command, the my-id is the ID in the preview URL.

别名可以有任意名称。例如,如果你想创建一个暂存环境,你可以创建一个名为 staging 的别名并将一个部署分配给它。

🌐 Aliases can have arbitrary names. For example, if you want to create a staging environment, you may create an alias called staging and assign a deployment to it.

生产别名

🌐 Production alias

如果你的预览子域名是 my-app,那么你的生产环境网址将是 https://my-app.expo.app/

🌐 If your preview subdomain name is my-app, your production URL will be https://my-app.expo.app/.

与其他别名类似,可以使用 --prod 选项将部署提升到生产环境:

🌐 Similar to other aliases, a deployment can be promoted to production using --prod option:

Terminal
eas deploy --prod

现有部署也可以使用其部署 ID 通过 --id 选项提升到生产环境:

🌐 Existing deployment can also be promoted to production using its deployment ID with the --id option:

Terminal
eas deploy:alias --prod --id=deploymentId

术语

🌐 Terminology

在以下示例中,my-app 被选作预览子域名:

🌐 In the following example, my-app is selected as the preview subdomain name:

  • https://my-app--or1170q9ix.expo.app/:预览 URL,它是唯一的,并且是你的部署可用的地址。
    • my-app:预览子域名。与你的项目相关的全球唯一前缀。
    • or1170q9ix:部署 ID,此部署独有。
  • https://my-app--hello.expo.app/:带有别名的部署 URL。
    • hello:用户定义的别名。
  • https://my-app.expo.app/:生产部署 URL。

常见问题

🌐 Common questions

EAS Hosting 是否提供专用 IP 地址?

🌐 Does EAS Hosting provide dedicated IP addresses?

不,EAS 托管使用 SNI(服务器名称指示),这意味着 IP 地址是共享的,而不是专用于单个项目。

🌐 No, EAS Hosting uses SNI (Server Name Indication), which means that IP addresses are shared and are not dedicated to a single project.