pipeline {agent anystages {stage('检出') {steps {checkout([$class: 'GitSCM',branches: [[name: env.GIT_BUILD_REF]],userRemoteConfigs: [[url: env.GIT_REPO_URL, credentialsId: env.CREDENTIALS_ID]]])}}stage('修改') {steps {sh "echo '# Hello CODING' > README.md"sh "git add ."sh "git commit -m 'add README.md' "}}stage('推送') {steps {// 使用了 CODING 持续集成系统预置的项目令牌环境变量 PROJECT_TOKEN_GK 和 PROJECT_TOKEN 来推送// 若希望推送到非本项目或第三方平台的代码仓库,需要自行换成有效的凭据信息sh "git push https://${PROJECT_TOKEN_GK}:${PROJECT_TOKEN}@e.coding.net/myteam/myrepo.git HEAD:master"}}}}
pipeline {agent anystages {stage('检出 SVN 代码') {steps {checkout([$class: 'SubversionSCM',// 此处可以添加额外认证additionalCredentials: [],excludedCommitMessages: '',excludedRegions: '',excludedRevprop: '',excludedUsers: '',filterChangelog: false,ignoreDirPropChanges: false,includedRegions: '',locations: [[// 输入上文中创建的凭据 IDcredentialsId: '5e25f6a9-675c-4b38-97b0-e907b5fe27cd',// 检出代码时所取出代码的范围depthOption: 'infinity',// 是否将 SVN 上的外部引用一并检出ignoreExternalsOption: true,// SVN 的检出目录,此目录是该 Job 工作目录的相对路径local: '.',// SVN 代码仓库地址remote: "svn://subversion.e.coding.net/StrayBirds/svn"]],workspaceUpdater: [$class: 'UpdateUpdater']])}}}}
pipeline {agent anystages {stage('检出1') {steps {sh 'git clone "https://${GIT_USER}:${GIT_PASSWORD}@e.coding.net/codes-farm/laravel-demo.git"'sh 'ls -la'}}stage('检出2') {steps {sh 'git clone "https://${GIT_USER}:${GIT_PASSWORD}@e.coding.net/codes-farm/laravel-demo/config.git"'sh 'ls -la'}}}}
git submodule add
命令添加拟跟踪项目的仓库地址作为子仓库,git submodule add https://e.coding.net/test/git-sub-module.git
pipeline {agent anystages {stage('检出') {steps {checkout([$class: 'GitSCM',branches: [[name: GIT_BUILD_REF]],doGenerateSubmoduleConfigurations: false,// 此处配置 Submodule 的检出规则extensions: [[$class: 'SubmoduleOption',// 是否禁用检出 SubmoduledisableSubmodules: false,// 是否允许检出时使用 Parent Project 的用户凭据parentCredentials: false,// 是否递归检出所有 Submodule 的更新recursiveSubmodules: true,// 指定参考仓库的路径reference: '',// 是否追踪 .gitmodules 文件中配置的分支的最新提交trackingSubmodules: false]],submoduleCfg: [],// 此处配置远程 Parent Project 和 Submodules的检出信息userRemoteConfigs: [[// 此处配置远程 Parent Project 仓库 SSH 凭据和仓库地址credentialsId: '93207d20-****-****-****-410850900d86',url: 'https://e.coding.net/StrayBirds/Parent/parent.git'],// 此处配置远程 Submodule 仓库凭 SSH 凭据和仓库地址[credentialsId: '560bdc1e-****-****-****-c8e3ccb3ccc6',url: 'https://e.coding.net/StrayBirds/Submodule/sub.git'],// 如果有更多的 Submodules ,可以在这里增加配置]])}}}}
变量名 | 默认值 |
GIT_REPO_URL | 需要检出的仓库克隆地址(HTTPS) |
CREDENTIALS_ID |
git clone
和 git fetch
操作。git checkout
的时候被加载。pipeline {agent anystages {stage('检出') {steps {checkout([$class: 'GitSCM',branches: [[name: env.GIT_BUILD_REF]],extensions: [// 添加 GitLFSPull 插件[$class: 'GitLFSPull'],],userRemoteConfigs: [[url: env.GIT_REPO_URL,credentialsId: env.CREDENTIALS_ID]]])}}}}
本页内容是否解决了您的问题?