[英]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.