ファイルには、実際のスクリプトが実行される前にコマンドを実行するgitlab-ci
オプションがあり、. ここでは、補助プログラムのインストール例を示します。ただし、docker executor を使用すると、これらの変更が Docker にキャッシュされないことに気付きました。これらのコマンドを実行した後、docker はイメージをキャッシュするので、次の実行またはテストでは、docker は. これにより、ビルドが大幅に高速化されます。.gitlab-ci.yml
before_script
.gitlab-ci.yml
before_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 install
docker / gitlab-ci に適切なキャッシュを処理させるだけでよければ、はるかに良いでしょう。
に設定しようとした にもcache
コマンドがあります。これは、プロジェクトの副産物ではないすべてのものをキャッシュすると思っていましたが、何の効果もないようでした。.gitlab-ci.yml
untracked: true
私が望む動作を取得する方法はありますか?