簡體   English   中英

jenkins 中的 Git LFS 設置

[英]Git LFS setup in jenkins

我在 Jenkins 中使用 git LFS 有問題。 我現在正在做的是

  1. 我正在通過 Jenkins 從 Maven 構建戰爭,該戰爭包含一個 jar 文件
  2. 通過 Git LFS,我們已將該 jar 文件轉換為指針文件。 但是在從 Jenkins 結帳期間,該 jar 並沒有轉換為其原始大小,而是作為指針包含在戰爭中。

我們在 Jenkins 中分別使用了 3.3.0 和 2.4.2 版本的 git 插件和 git-client 插件。

怎么了:

A.war -> a.jar(原來的大小是 1234 kb,但現在變成了 3 kb(這是指針文件的大小)

所以我的問題是:

  1. 如何在 Jenkins 中使用 git LFS?
  2. Jenkins 有沒有單獨的 Git Lfs 插件?
  3. 當使用 Git LfS 時,文件應該如何在結帳期間轉換為其原始大小?

這可以使用Jenkins的常規Git +插件 (版本3.1.0以后)完成。

如果您正在使用Jenkins管道(即在您的倉庫的根目錄中使用Jenkins文件),關鍵是在checkout()調用中包含擴展名[$class: 'GitLFSPull'] 這是一個(編輯過的)示例,取自我們的一個回購:

checkout([  $class: 'GitSCM', 
    branches: [[name: 'refs/heads/'+env.BRANCH_NAME]],
        doGenerateSubmoduleConfigurations: false,
        extensions: [
            [$class: 'GitLFSPull'],
            [$class: 'CheckoutOption', timeout: 20],
            [$class: 'CloneOption',
                    depth: 0,
                    noTags: false,
                    reference: '/other/optional/local/reference/clone',
                    shallow: false,
                    timeout: 120]
        ],
        submoduleCfg: [],
        userRemoteConfigs: [
            [credentialsId: 'foobar',
            url: 'https://github.com/foo/bar.git']
        ]
    ])

使用Snippet Generator,可以通過從“Additional Behaviors”菜單中選擇“結賬后的Git LFS拉取”來生成此代碼。 在此處查看截圖

這可以使用“Pre SCM BuildStep”插件完成。

  1. 在Jenkins中添加“Pre SCM BuildStep”插件。
  2. 在“作業配置”中,選擇“在構建環境部分中運行SCM之前運行buildstep ”屬性,然后單擊“添加構建步驟”,選擇“執行Shell”。 在shell中添加以下命令,git lfs install
  3. 在源代碼管理部分 - >附加行為 - > 結帳后添加Git LFS拉

參考鏈接

這部分的文檔不清楚。 我自己努力了,終於讓它工作了。 我專門寫了一篇博客,希望對某人有所幫助: https : //mydeveloperplanet.com/2021/12/07/jenkins-multibranch-pipeline-and-git-lfs/

暫無
暫無

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

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