簡體   English   中英

manbetx客戶端打不開CI加速

[英]GitLab CI speed up

我正在嘗試設置GitLab CI流程,發現啟動過程非常緩慢。 任務可以掛起等待狀態幾分鍾。 但是主要問題是建造速度很慢。 我們有一個自定義的PHP docker映像(內置一些模塊)和應用程序。 部署到CI可能需要5到10分鍾。

這怎么可能:

  • 最小化等待時間? 購買企業帳戶?
  • 加快圖像的建立和安裝?
  • 緩存docker映像?
  • 從文件和我們的php7加入基本圖片?

盡管對版本和時間進行了一些不必要的檢查,但它們不是問題-速度很快,但可以提供有關精確版本和運行時間的信息。

.gitlab-ci.yml

    image: "registry.gitlab.com/project/debianphp7:latest"

    services:
       - mariadb:10.1

    variables:
    #  CI_DEBUG_TRACE: "true"   # hard Gitlab CI debug
      MYSQL_HOST: mariadb
      MYSQL_DATABASE: dbname
      MYSQL_ROOT_PASSWORD: "password"
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
      MYSQL_CMD: "mysql --user=root --password=$MYSQL_ROOT_PASSWORD --host=$MYSQL_HOST $MYSQL_DATABASE "

    before_script:
      - apt-get update && apt-get install mysql-client -y
      - echo "Load database fixtures"
      - mysql -V
      - echo $MYSQL_CMD
      - echo "SELECT 'OK', NOW(), VERSION();" | mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mariadb
      - echo "SELECT 'OK', NOW(), VERSION();" | $MYSQL_CMD
      - (find ./sql/*.sql -type f | while read f; do
             echo "Loading " $f;
             cat $f | $MYSQL_CMD;
         done);

    test:
      script:
        php -d short_open_tag=On src/execute_request_by_cron.php -- request=TestUnitTestRequest

謝謝。

對我來說不清楚的是,您使用的是gitlab.com上的免費托管版本還是gitlab的自托管版本。 但總的來說,您可以做以下兩件事:

首先是完全免費的升級:最好將代碼中所有不變的內容移至預構建的映像中。 例如以下行:

apt-get update && apt-get install mysql-client -y

我將從您的源映像創建一個映像,該映像確實已預安裝了mysql客戶端。 無論如何,您需要的所有東西都是免費的,GitHub,Docker Hub和...

然后,假設您使用的是gitlab.com,則可以為專用跑步者付費,也可以通過激活私人跑步者自己帶來。

暫無
暫無

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

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