Retrieve and manage your Plastic SCM sources from Jenkins.
- Overview
- How to use the plugin
- Build information
- Requirements
- Upgrades
- Development
- Plugin information
- Change log
Plastic SCM is a scalable, engine-agnostic version control and source code management tool for game development studios of all sizes. It offers optimized workflows for artists and programmers and superior speed working with large files and binaries.
This plugin integrates Plastic SCM with Jenkins, allowing you to retrieve and manage your Plastic SCM sources from Jenkins projects and pipelines. It also provides a way to automatically download and install the Plastic SCM client (cm
) in the controller or agent machines.
The Plastic SCM plugin for Jenkins requires a working cm
client to be present in the controller or agent machines. If it's not, the plugin provides a way for the machines to automatically download and install the client.
You can find out more about how to configure the Plastic SCM client in Jenkins in the External Tool Configuration guide.
The Plastic SCM plugin for Jenkins can be used in standalone mode. This behaves as a regular SCM plugin, where the project configuration defines which repository to use and the credentials to connect to it. The plugin will then download the sources to the workspace.
You can find out more about how to configure the Plastic SCM plugin in standalone mode in the Standalone mode guide.
The Plastic SCM plugin for Jenkins can be used in Mergebot mode. This mode is intended to be used in conjunction with the Plastic SCM Mergebot feature.
A Mergebot will trigger a CI build, which will be requested to Jenkins via a Plug. The targeted Jenkins project will need to have the Plastic SCM plugin configured in Mergebot mode. The plugin will then download the sources to the workspace, taking the required spec from a build parameter.
You can find out more about how to configure the Plastic SCM plugin in Mergebot mode in the Mergebot mode guide.
The build summary includes a reference to the Plastic SCM changeset spec that was built.
The changes page in each build will have details about each of the changesets that were included in the build, linked from the summary list.
You'll find a link in the build page sidebar to display the Plastic SCM data for that build.
- Jenkins
2.440.3
(2024-04-17) or newer - Plastic SCM command line client
10.0.16.6112
or newer
There are no incompatibilities in configuration from version 3.x to version 4.x. The latter adds support in project/pipeline configurations to specify a Plastic SCM working mode and credentials.
By default, new or existing projects will use the default credentials for cm
as configured in the controller or agent machines. This means that upgrading will keep the same behaviour as you had in the previous version.
The upgrade process is mostly seamless. You'll only need to review the configuration parameters of your jobs if you configured them to use multiple workspaces. Since the subdirectory name was inferred from the workspace name before and that parameter is now gone, the Subdirectory parameter (used now to specify the subdirectory name explicitly) will be empty. Builds might download all workspaces in the same directory!
To build the plugin you will need:
- Maven version
3.5
or newer - Java Development Kit (JDK) version
17
Run the following command to build the plugin:
mvn package
New feature requests and bug fix proposals should be submitted as pull requests. Fork the repository. Make the desired changes in your forked copy. Submit a pull request to the master
branch.
Use the Jenkins SCM API coding style guide for new code.
Before submitting a pull request please check if your code passes code quality and style checks by running:
mvn verify
All pull requests will be evaluated by Jenkins CI.
This plugin is developed and maintained by Unity Software, owner of the Plastic SCM product.
Visit us at https://unity.com/solutions/version-control.
We really appreciate PR and contributions!
You can find it here