通过GitLab Auto DevOps将生产create-react-app部署到GKE

时间:2018-07-15 21:39:43

标签: reactjs kubernetes gitlab create-react-app

我一直在努力找出为什么在使用GitLab Auto DevOps并将其部署到GKE时create-react-app应用程序无法正确显示的原因。我认为这与我为create-react-app提供服务的方式以及入口控制器的工作方式有关,但是我不确定。

对于生产而言,create-react-app建议先使用yarn build,然后再封装serve,但我不认为serve和Ingress-controller可以很好地配合使用。供参考的是我的Dockerfile:

Dockerfile

FROM node:8.9.3-alpine

ARG NODE_ENV=production
ENV NODE_ENV=$NODE_ENV

# Set a working directory
WORKDIR /usr/src/app

COPY package.json yarn.lock ./
RUN set -ex; \
  if [ "$NODE_ENV" = "production" ]; then \
  yarn install --no-cache --frozen-lockfile --production; \
  npm install -g serve; \
  elif [ "$NODE_ENV" = "test" ]; then \
  touch yarn-error.log; \
  mkdir -m 777 build; \
  yarn install --no-cache --frozen-lockfile; \
  chown -R node:node build node_modules package.json yarn.lock yarn-error.log; \
  else \
  touch yarn-error.log; \
  mkdir -p -m 777 build node_modules /home/node/.cache/yarn; \
  chown -R node:node build node_modules package.json yarn.lock yarn-error.log /home/node/.cache/yarn; \
  fi;


COPY .env build* ./build/

USER node

CMD [ "serve", "-s", "build" ]

我的应用程序非常简单,它只有一个页面,其中包含一些虚拟路由。

当我推动精通整个管道时,结果是某种程度上呈现了我的项目文件结构的视图。我查看了日志,唯一的细化之处似乎是表明有任何问题,除了网站的状态是WARN我的访问控制日志:

error obtaining PEM from secret app-6174385/production-auto-deploy-tls: error retrieving secret app-6174385/production-auto-deploy-tls: secret app-6174385/production-auto-deploy-tls was not found 

有没有人成功通过GitLab的Auto DevOps将create-react-app部署到GKE,如果可以的话,我真的可以使用一些指导。另外,很高兴提供任何其他有用的信息!

1 个答案:

答案 0 :(得分:0)

此错误表示尚未创建机密。

您可以在Getting started with Auto DevOps指令中找到有关如何设置Kubernetes集群集成的信息。