gitlab 构建停留在 "Creating an optimized production build..."

gitlab build stuck on "Creating an optimized production build..."

我有以下 gitlab CI 文件,但它卡在 "Creating an optimized production build..."

我尝试在本地构建相同的文件,构建在 15 分钟内完成。

我做错了什么?

image: docker:18.09.7

stages:
  - build
  - create-docker
  - deploy

variables:
  DOCKER_USER: 'xxx'
  DOCKER_PASSWORD: 'xxx'
  CI_REGISTRY: https://index.docker.io/v1/

build:
  image: node:8.16.1
  stage: build
  script:
    - npm install
    - npm run build --verbose
  artifacts:
    when: always
    expire_in: 12 hour
    paths:
      - build
  allow_failure: true

create_docker_python:
  image: docker:18.09.7
  stage: create-docker
  services:
    - docker:18.09.7-dind
  variables:
    APP_IMAGE: xyz/image:1.13
  script:
    - docker login $CI_REGISTRY -u $DOCKER_USER -p $DOCKER_PASSWORD
    - docker build -t $APP_IMAGE -f Dockerfile . && echo "Publishing docker image on $image"
    - docker push $APP_IMAGE

kube_deploy:
  before_script:
    - export KUBECONFIG=configFiles/admin.conf
  stage: deploy
  image: lwolf/helm-kubectl-docker:v152_213
  script:
    - kubectl delete ing backend
    - kubectl delete cm file-configmap
    - kubectl delete deployment saas
    - kubectl apply -f folder1/k8s/ingress.yaml --validate=false
    - kubectl apply -f folder1/k8s/k8s-deployment.yaml --validate=false
    - kubectl apply -f folder1/k8s/k8s-configmaps.yaml --validate=false

如果您的应用程序很重,它将需要更多资源,而 gitlab 共享运行器是不够的,您将不得不使用专用运行器。

为了解决这个问题,我增加了 RAM。我在 Digital Ocean 中购买了一台具有 16GB RAM 的服务器并执行了 npm run build 或在您的 CI/CD 管道中使用专用运行器,您可以按照以下步骤操作

  1. 安装 gitlab runner
  2. 注册你的 gitlab runner

您可以按照本指南进行操作。

https://about.gitlab.com/blog/2016/04/19/how-to-set-up-gitlab-runner-on-digitalocean/

增加 RAM 后,我的构建在 15 分钟内完成。