TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸TASIOMIND.DEV — OPERATIONAL▸▸▸FULL STACK DEVELOPER @ GWQ SERVICEPLUS AG▸▸▸FOUNDER — K8SGPT.AI▸▸▸OPEN SOURCE: ACTIVE▸▸▸DISTRIBUTED SYSTEMS / KUBERNETES / AI▸▸▸RUST + GO + PYTHON▸▸▸FIELD TESTED / STATUS — NOMINAL▸▸▸LOCATION: EUROPE/BERLIN▸▸▸

Environment variables in Expo using Release Channels

July 13, 2020

Hinweis: Release Channels sind legacy

Expo Classic Release Channels wurden durch EAS Update Branches ersetzt. Wenn du neu startest, nutze EAS + app.config.js.

Empfohlenes Setup (EAS)

app.config.js:

code
export default ({ config }) => {
  const env = process.env.APP_ENV || "dev";

  const urls = {
    dev: "https://api-dev.example.com",
    staging: "https://api-stg.example.com",
    prod: "https://api.example.com",
  };

  return {
    ...config,
    extra: {
      apiUrl: urls[env],
      appEnv: env,
    },
  };
};

Dann im Code:

code
import Constants from "expo-constants";

const { apiUrl, appEnv } = Constants.expoConfig?.extra ?? {};

EAS Build:

code
APP_ENV=staging npx eas build -p android

EAS Update Branches

Branches kannst du nutzen, um Env-spezifische Updates zu pushen:

code
npx eas update --branch staging

Legacy (nur fuer alte Expo Classic Apps)

Frueher konntest du Constants.manifest.releaseChannel nutzen. Das ist heute nur noch fuer alte expo publish Flows relevant.

Links