1.14.1
-
Fixed issue that caused polling triggers to fail if Tags list contained regex patterns but Run the trigger for each tag? was not selected.
1.13.2
-
Upgraded dependencies.
-
Added capability to the plugin setup procedure to process dependencies for CloudBees CD/RO IPv6 instances.
1.13.1
-
Improve delete branch action to allow deleting remote branches even if they do not exist locally.
-
Upgraded dependencies.
1.13.0
-
Upgraded dependencies.
-
Migrated to Java 17 and Groovy 3.
Because of the Java versions supported by CloudBees CD/RO, you can only use EC-Git v1.13.0 with CloudBees CD/RO agents v10.11 and later. -
Fixed a problem with JGit incorrectly stating the push was successful, when the push had actually failed.
-
Fixed cloning as a single branch.
-
Added the Branch to switch parameter to the Git plugin configuration, to optionally switch to a branch before deleting the branch specified in the Branch to delete parameter.
-
Upgraded JGit library to version 6.
-
Fixed issue with symbolic link when extracting dependencies.
1.12.3
-
Fixed creating a remote branch with the JGit library.
-
Fixed catching errors during processing triggers.
-
Allowed special characters in username or password.
-
Implemented adding new files by simplified wildcard pattern to a commit for the JGit library.
1.12.1
-
Added branch name to commit data output.
-
Value resolving was fixed if the trigger parameter was defined as a reference to a property.
1.12.0
-
Upgraded third-party dependencies.
-
Fixed workability of the Depth option in the Pull procedure.
-
Added option to create a new branch when pushing a commit.
-
Added procedure to delete an existing branch.
1.11.0
-
Updated the Git Setup for DevOps Insight procedure to create a new plugin configuration.
-
Added a Depth option to the Pull procedure.
1.10.3
-
Updated the documentation.
-
Fixed links for absolute paths of artifact directories.
-
Upgraded Jackson-Databind to v2.13.2.
1.9.2
-
Added a property with the trigger schedule project name for the SCM Sync feature.
-
Added a compatibility property for the Source Provider procedure.
1.7.0
-
Added functionality to support the DSL round-trip feature.
-
Fixed case, to avoid using the exclude option for Git prior to v2.13.
1.6.0
-
Added support for the plugins configurations as objects.
-
Added support for SSH keys with passphrases.
1.5.0
-
Added submodule support to the Clone procedure and the Pull procedure.
-
Fixed an issue with overwriting sources during a multi-microservice application deployment.
1.3.0
-
For polling triggers, added the option to monitor tags for the specified repository and added support for the
parsedWebhookData
pipeline property. -
Added support for mirroring a source repository during a clone.
-
Added the Path of the reference repo to use during clone option to use a cached copy of the repository.
-
Added the Clean the Workspace option to use during a pull.
-
Added the branch name to the clone/pull output data.
1.1.0
-
Added Polling Triggers support.
-
Enhanced message and documentation on the unsupported private key types.
Known issues
Git
If using submodules, you should use one type of authentication to access the repository and submodules. Do not mix keys and passwords/tokens simultaneously.
-
For passwords or tokens, use a URL such as:
https://github.com
. -
For keys, use a URL such as
git@github.com
.
Git versions prior to 2.13 do not support the exclude option in the name-rev command.
|
JGit library
-
JGit does not support shallow clones. For example, the Depth parameter of the Clone procedure. If you intend to use shallow clones, consider switching to the Git CLI.
-
JGit does not support private keys in OpenSSH format. Regenerate the key with a
-m PEM
. For more information, refer to the JSch library used by JGit: #129 "JSchException: invalid privatekey" on OpenSSH 7.8 and above. -
JGit does not support mirroring a repo during cloning.
-
JGit does not support the use of a reference repo during cloning.
-
JGit nameRev can return tags instead of branches.
-
JGit uses deletion and following addition instead of renaming in its report.
GitHub
If you are using GitHub as a remote repository for hosting, do not use a password. Use a personal access token instead. For more information, refer to:
Schedule and trigger changes in CloudBees CD/RO 10.1
In CloudBees CD/RO 10.0 or earlier, the ECSCM-SentryMonitor scheduler checked the schedules and triggers related to Git repositories. Beginning in CloudBees CD/RO 10.1 or later, the ECSCM-SentryMonitor scheduler is no longer used. A new scheduler named PollingTriggers calls a procedure in the Git plugin, and it is not enabled by default. Refer to Configure polling triggers for instructions to enable the PollingTriggers schedule.
When upgrading from CloudBees CD/RO 10.0 or earlier to 10.1 or later, there is no automatic migration path. You must manually remove old triggers and manually create new triggers.
For example, there is a project: myProject; pipeline: myPipeline; trigger: myTrigger
.
ectool deleteTrigger myProject myTrigger --pipelineName myPipeline
It uses a Git server with a self-signed certificate that returns SSL errors similar to the following:
-
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
-
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
-
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
To avoid this problem, you must add certificates to the JRE Keystore.
-
For Windows, issue the following commands:
cd C:\ProgramData\CloudBees\Software Delivery Automation\jre\lib\security keytool -importcert -file /tmp/CA_crt.pem -keystore cacerts -alias myRepository
-
For Linux, issue the following commands:
cd /opt/cloudbees/sda/jre/lib/security keytool -importcert -file /tmp/CA_crt.pem -keystore cacerts -alias myRepository
Third-party dependencies
Module | License |
---|---|
com.cloudbees.flow.plugins:ec-git-wrapper:2.1.6 |
|
org.eclipse.jgit:org.eclipse.jgit:6.9.0.202403050737-r |
|
org.eclipse.jgit:org.eclipse.jgit.ssh.apache:6.9.0.202403050737-r |
|
org.eclipse.jgit:org.eclipse.jgit.ssh.jsch:6.9.0.202403050737-r |
|