gitlab的lfs功能启用及jenkins拉取lfs文件的配置

LFS是Large File Storage的缩写,用了帮助git管理大的文件

原理:不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积。

好像在8版本之后,lfs功能是默认开启的。

本文,主要讲讲在日常具体操作GITLAB LFS时的两个细节。

一,.gitattributes文件内容

要让gitlab识别lfs文件,需要一个.gitattributes文件,我定义的内容如下,表示这些文件后缀,会被视为LFS文件。

*.zip filter=lfs diff=lfs merge=lfs -text

*.tar.gz filter=lfs diff=lfs merge=lfs -text

*.tgz filter=lfs diff=lfs merge=lfs -text

*.rar filter=lfs diff=lfs merge=lfs -text

识别LFS文件之后,gitlab是会给个特定的标识的。

二,jenkins拉取lfs文件时的设置

jenkins的2.73版本,拉取gitlab lfs时,要作如下的个性化设置(可以在pipeline syntax语法参考里测试)。

pipeline {

....

     stages {

        stage('Prepare Git Code') {

            steps {

                checkout([$class: 'GitSCM', branches: [[name: '${BRANCH_TO_BUILD}']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'GitLFSPull']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'GitLab', url: '${GIT_URL}']]])

                //git branch: '${BRANCH_TO_BUILD}', credentialsId: 'GitLab',  url: '${GIT_URL}'

                echo 'Preparing end..'

            }

        }

   }

....

}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容