gpt4 book ai didi

angular - Gitlab CI 不会将 Angular 应用程序提供给暂存环境

转载 作者:行者123 更新时间:2023-12-02 20:01:10 25 4
gpt4 key购买 nike

我正在尝试建立一个执行以下操作的管道:

提交新的 Angular 代码
构建实时审查应用程序以进行测试
手动推送到生产
我已经能够使用 docker 文件在管道中成功构建应用程序,并具有正确的 nginx 配置以将其路由到登台环境。作业通过后,暂存环境会更新,但没有任何运行,并且提供的链接会给出“默认后端 - 404”错误消息。我将不胜感激有关如何获取此链接以正确服务实时 Angular 应用程序的任何指导。提前致谢。

Dockerfile:

  # Stage 0, "build-stage", based on Node.js, to build and compile the frontend
FROM tiangolo/node-frontend:10 as build-stage

WORKDIR /app

COPY package*.json /app/

RUN npm install

COPY ./ /app/

ARG configuration=production

RUN cd /app && npm run build --prod --configuration $configuration


# Stage 1, based on Nginx, to have only the compiled app, ready for production with Nginx
FROM nginx:alpine

RUN rm -rf /usr/share/nginx/html/*

COPY --from=build-stage /app/dist /usr/share/nginx/html

COPY /nginx-custom.conf /etc/nginx/conf.d/default.conf

RUN cat /etc/nginx/conf.d/default.conf

Gitlab-ci.yml 部署
deploy_stage:
stage: deploy
image: docker:stable-git
services:
- docker:stable-dind
script:
- docker build -t my-angular-project:prod .
- docker run -d -p 80:80 my-angular-project:prod
environment:
name: staging
url: http://$CI_PROJECT_PATH_SLUG-staging.$AUTO_DEVOPS_DOMAIN
only:
refs:
- master
kubernetes: active
variables:
- $STAGING_ENABLED

NGINX 配置
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}

最佳答案

暂存环境不可访问,因为您未在此作业中部署您的应用程序。正如我所见,您正在使用 Kubernetes 集群。构建 docker 镜像后,您应该将其推送到项目的 gitlab 注册表,然后将其传递给 kubernetes 的部署定义(或 Helm 图)并应用它。然后,您会将其部署到集群中。啊,让端点可以访问记得配置集群的入口,也可以根据子域将请求重定向到正确的部署。

关于angular - Gitlab CI 不会将 Angular 应用程序提供给暂存环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53547959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com