Flexible, High-Performance Jenkins Integration From Perforce
Jenkins pioneered a better way to implement CI/CD (continuous integration/continuous delivery) environments. It works with nearly any project or product development process. Many companies use Jenkins to create DevOps nirvana. It’s a popular way to integrate your entire chain of build, test, and deployment tools.
Most of the customized tasks done by Jenkins use plugins. The Jenkins core has a well-defined API. It allows plugins to add configuration options to the GUI and perform actions as if they were part of the core.
Helix Core and Jenkins Integrations
What Helix Core Does
Helix Core is the version control software from Perforce. Development teams use Helix Core to securely manage all digital content — even binary files — in one repository. And it’s also used to quickly deliver files to large, distributed teams.
Integrating Perforce and Jenkins lets you to set up powerful pipelines. These pipelines can use a combination of:
- Source Code
- Non-code assets (like images, graphics, audio, and video)
The assets are stored in multiple repositories or file systems. They can be accessed from development centers or design studios around the globe.
P4 Plugin for Jenkins
The P4Plugin for Jenkins provides a fast and seamless way to extract projects from a Perforce Server into pipeline stages in Jenkins. It’s written using P4Java, the Helix Core Java API. This makes it easy to create Jenkins configurations.
The plugin can use Jenkins to run builds on streams and shelves. You can create a workspace automatically, or use an existing workspace based on a template or Helix Core stream specification. For performance, sync Helix Core depots in parallel using simple, concise Jenkinsfile syntax.
Plus, the P4Plugin will automatically publish files back to Helix Core, post-build, and label the files. This helps organize and manage your CI/CD processes, which improves quality and traceability.
API for Version Control
If you want to extend functionality and integrate with more tools, P4Java is ready. It’s a Java API that enables applications to access Helix Core in a “Java-natural” and Java-native way. You can control your connection to the Helix Core server and enhance your build automation.
When the P4Plugin’s commands aren’t enough, you can use the Perforce-supplied P4Groovy to integrate workflows. It works with the Jenkins supplied Domain Specific Language (DSL) based on Groovy. Along with Jenkins’ Job-DSL-plugin, you can better describe jobs and manage scripts as well as update the Jenkins jobs that are created and maintained.
Helix Swarm and Jenkins
Build, test, review, approve, and ship in a CI/CD workflow with Helix Swarm and Jenkins.
What Is Helix Swarm?
Helix Swarm is a collaboration and code review tool, fully integrated with Helix Core, offering development code review in one enterprise solution. Helix Swarm can organize large-scale projects with ease and eliminate confusion across your development environments, adding greater speed and security along the way.
How Does Helix Swarm Work With Jenkins?
It’s simple to integrate Jenkins, Helix Core and Swarm. Once the integration is in place, there are no additional steps for developers to fire off build and test automation. The developer simply completes their work, submits it, and the integration takes over. Once Jenkins reports that the build and tests have passed, Swarm notifies the team that changes are waiting to be reviewed and approved. Once approved, the code can be deployed automatically. It’s an integral part of your CI/CD workflow.
Working With Git
With Helix4Git, you can create Jenkins pipelines that easily incorporate Helix Core and Git assets. This makes it simpler and faster to manage the assets.
What Is Helix4Git?
Helix4Git is a new type of depot. It leverages the power and scale of the Helix server, and it lets you manage Git repos natively. Even better, Helix4Git is easy to implement without changing your existing toolset. It can be added to any Git environment to improve performance and seamlessly scale to support growing, global Git teams.
With Helix4Git, you can sync multiple Git repositories or Helix Core depots at the same time using Jenkinsfile syntax. Speed up automation by 40-80% compared to open source Git using the parallel processing power of the Helix Core server.
How the Jenkins Integration Works
Developers can work seamlessly with Git commands and workflow, and your team can drive productivity. Automate using Helix client workspaces and the P4 commands. You can map parts of a Git repository into a Helix Client workspace by choosing specific paths to files using your favorite syntax, including wildcards.
This creates the equivalent of a “narrow clone” of the Git repository. You can also bring multiple Git repositories into the client. And you can even combine assets in Helix Core depots with Git repositories in a hybrid Helix Client workspace.
Helix QAC and Jenkins Integration
What Helix QAC Does
Helix QAC is a static code analyzer for C/C++. It analyzes code, checks it against coding rules, and ensures compliance. Developers use Helix QAC to ensure higher code quality.
How the Jenkins Integration Works
Helix QAC has a Jenkins plugin for both C and C++. With this plugin, you’ll get immediate feedback on compliance to a coding standard.
Here’s how it works…
Analyze Your Code With Helix QAC
You commit your code as usual. A job then prompts Helix QAC to run an analysis on the source code. Summary information — such as how compliant the code is to the coding standard — is immediately available on the CI server.
The plugin also generates a compliance report. It compares the total number of messages in the project against a threshold. The build status gets set to “unstable” if that threshold is exceeded. This stops subsequent tasks.
The results of this analysis are also automatically uploaded to Helix QAC’s dashboard. Developers can view the annotated source code via their browser. They can then pinpoint the exact location of non-compliances and fix issues before re-committing the code.
Have Questions About Perforce and Jenkins Integrations?
Contact us for more details on how Perforce integrates with Jenkins for better performance and an easy way to integrate your entire chain of build, test, and deployment tools.