Mengapakah pembolehubah persekitaran saya tidak ditentukan semasa menggunakan AWS?
P粉008829791
P粉008829791 2024-03-28 19:58:03
0
1
346

Saya sedang membangunkan aplikasi vue. Saya menetapkan pembolehubah persekitaran dalam fail yang dipanggil "config.ts" yang mengandungi kod yang serupa dengan:

export const configs = {
  baseURL:
    process.env.VUE_APP_API_BASEURL ||
    'http://test.api.co/',
}

Saya menguji pembolehubah persekitaran secara setempat menggunakan .env seperti yang ditunjukkan di bawah

VUE_APP_API_BASEURL=https://test2.api.com

Dan ia berfungsi dengan baik.

Saya kemudian melabuhkan aplikasi menggunakan fail Docker seperti ini:

FROM private_image_container/node:v16 as build-stage

# declare args
ARG VUE_APP_API_BASEURL

# set env variables
ENV VUE_APP_API_BASEURL=$VUE_APP_API_BASEURL
RUN echo "VUE_APP_API_BASEURL=$VUE_APP_API_BASEURL" > .env
WORKDIR /app
COPY package.json ./
COPY yarn.lock ./
RUN yarn
COPY . .
RUN yarn build

# production stage
FROM private_image_container/nginx:latest as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Apabila menggunakan aplikasi, pembolehubah tidak kelihatan walaupun ia ditakrifkan dalam definisi tugas.

P粉008829791
P粉008829791

membalas semua(1)
P粉916553895

Jadi saya menghadapi masalah ini kerana orang DevOp kami menegaskan bahawa kami mempunyai pembolehubah persekitaran masa jalan.

Penyelesaian yang saya bangunkan ialah menulis skrip bash yang menyuntik skrip untuk melampirkan konfigurasi pada objek tetingkap, menjadikannya boleh diakses sebagai masa jalan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!