ファイルには、実際のスクリプトが実行される前にコマンドを実行するgitlab-ciオプションがあり、. ここでは、補助プログラムのインストール例を示します。ただし、docker executor を使用すると、これらの変更が Docker にキャッシュされないことに気付きました。これらのコマンドを実行した後、docker はイメージをキャッシュするので、次の実行またはテストでは、docker は. これにより、ビルドが大幅に高速化されます。.gitlab-ci.ymlbefore_script.gitlab-ci.ymlbefore_script
例として、私の.gitlab-ci.yml見た目は次のようになります。
image: ubuntu
before_script:
- apt-get update -qq && apt-get install -yqq make ...
build:
script:
- cd project && make
考えられる解決策は、ランナー マシンに移動し、他のインストールなしでソフトウェアをビルドできる Docker イメージを作成しimage、yaml ファイルのセクションでそれを参照することです。これの欠点は、依存関係を追加するたびに、ビルドが成功する前にランナー マシンにログインしてイメージを更新する必要があることです。の最後に依存関係を追加し、apt-get installdocker / gitlab-ci に適切なキャッシュを処理させるだけでよければ、はるかに良いでしょう。
に設定しようとした にもcacheコマンドがあります。これは、プロジェクトの副産物ではないすべてのものをキャッシュすると思っていましたが、何の効果もないようでした。.gitlab-ci.ymluntracked: true
私が望む動作を取得する方法はありますか?