2022年6月24日金曜日

Jenkinsfile の checkout gitSCM で LFS Pull のタイムアウト設定

【Jenkins】ERROR: Timeout after 10 minutes - コガネブログ

hudson.plugins.git.GitException: Command "git lfs pull origin" returned status code 143:

ゲーム開発してると git lfs においてるファイルが大きくなりがちで、タイムアウトで取得失敗することもあるかと思います。
そういう場合は↑のブログにある通り、チェックアウトのタイムアウトを延ばせば解決します。
これは git lfs pull が checkout の拡張として実装されているからです。
https://javadoc.jenkins.io/plugin/git/hudson/plugins/git/extensions/impl/GitLFSPull.html

Jenkinsfile の場合は以下のようにします。
CloneOption にも timeout 設定がありますが、これはその名の通り clone するときのタイムアウトなので git lfs pull には効果ありません。

checkout(
    scm: [$class: 'GitSCM',
        extensions: [
            [$class: 'GitLFSPull'],
            [$class: 'CheckoutOption', timeout: 30],
            [$class: 'CloneOption',
                timeout: 30,
            ],
            ...
        ],
    ]
)

大分前に調べたのですが、すっかり忘れてたので備忘録として残しておきました。

0 件のコメント:

コメントを投稿