簡體   English   中英

Gitlab 管道運行很慢

[英]Gitlab pipeline running very slow

我使用 Gitlab 作為我的 DevOps 平台並在 docker 容器中運行管道。 所以我正在使用docker executor ,我的跑步者作為 docker 容器運行。 下面是我的gitlab-ci.yml文件,除了npm install cypress什么都不做

stages:
  - release

release:
  image: node:12.19.0
  stage: release
  only:
    refs:
      - master
      - alpha
      - /^(([0-9]+)\.)?([0-9]+)\.x/
      - /^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
  before_script:
    - export http_proxy=http://17.14.45.41:8080/
    - export https_proxy=http://17.14.45.41:8080/
    - echo 'strict-ssl=false'>>.npmrc
  script:
    # - npm ci
    - npm install cypress

當我運行這項工作時,它需要將近12 minutes ,這是非常多的時間。 我的 Gitlab 是自托管的,我正在使用代理與外界交談,但我認為代理沒有任何問題,因為當我執行docker pull時,它可以正常工作並立即運行。

我不知道是否有什么我可以做的,或者我在 Gitlab 配置中缺少什么,但如果有人有任何想法,請告訴我。 這將是很大的幫助。

我不知道您的項目,如果您有太多依賴項,請下載並安裝。

為了提高性能,您需要使用緩存https://docs.gitlab.com/ee/ci/caching/特性 gitlab

但是,在這樣做之前,您需要使用環境變量CYPRESS_CACHE_FOLDER https://docs.cypress.io/guides/getting-started/installing-cypress.html#Environment-variables配置賽普拉斯緩存文件夾,看看我下面的例子

CYPRESS_CACHE_FOLDER: '$CI_PROJECT_DIR/cache/Cypress'

我告訴 cypress 將所有依賴項和二進制文件下載到這個特定文件夾,然后,我配置了 gitlab 來緩存這個文件夾

  stage: ci
  cache:
    paths:
      - cache/Cypress

在您的情況下,您的.gitlab-ci.yml 文件將是

stages:
  - release

release:
  image: node:12.19.0
  variables:
    CYPRESS_CACHE_FOLDER: '$CI_PROJECT_DIR/cache/Cypress'
  stage: release
  cache:
    paths:
      - cache/Cypress
  only:
    refs:
      - master
      - alpha
      - /^(([0-9]+)\.)?([0-9]+)\.x/
      - /^([0-9]+)\.([0-9]+)\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?$/
  before_script:
    - export http_proxy=http://17.14.45.41:8080/
    - export https_proxy=http://17.14.45.41:8080/
    - echo 'strict-ssl=false'>>.npmrc
  script:
    # - npm ci
    - npm install cypress

但不要忘記您需要根據您使用的執行器配置緩存。 您可以從 gitlab 文檔中獲得有關它的詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM