SlideShare a Scribd company logo
Perforce Plugin for Jenkins
An introduction to the ‘P4’ Plugin and update
on the latest features.
Paul Allen – Perforce Software
© Perforce Software Inc. All Rights Reserved.
Paul Allen
Senior Integration Engineer
Perforce
© Perforce Software Inc. All Rights Reserved.
Introduction
◦ The Perfect Monorepo
◦ P4 plugin
◦ Credentials
◦ Workspace management
◦ Perforce Operations
◦ Polling, triggers and reviews
◦ P4 Groovy
The Perfect Monorepo
What is a Monorepo?
© Perforce Software Inc. All Rights Reserved.
One Repo to rule them all, One Repo to find them,
One Repo to bring them all and in the server bind them.
One Repo
© Perforce Software Inc. All Rights Reserved.
One Store
Store all sources, projects and sub projects;
even artifacts, tooling, docs and test reports...
© Perforce Software Inc. All Rights Reserved.
One History
Boldly go across source and time
Reproduce any source at any point in time
© Perforce Software Inc. All Rights Reserved.
Global Access
Any file any where
Fast Global Distribution
Fine grain protections
P4 Plugin
Perforce plugin support for Jenkins
© Perforce Software Inc. All Rights Reserved.
Disambiguation
◦ Community ‘Perforce’ plugin
https://wiki.jenkins-ci.org/display/JENKINS/Perforce+Plugin
◦ Perforce Supported ‘P4’ plugin
https://wiki.jenkins-ci.org/display/JENKINS/P4+Plugin
© Perforce Software Inc. All Rights Reserved.
The ‘P4’ plugin
◦ Why
Access the power of Perforce from within Jenkins
◦ P4Java
Pure Java solution
No ‘P4’ executable to install and keep up-to-date.
◦ Latest features
Streams, sync and clean up options
Credentials
Connecting to Perforce…
© Perforce Software Inc. All Rights Reserved.
Credentials
◦ Perforce Credentials
Shared Credentials
Managed from one location
Independent from the Job configuration
Update connection details in one location
◦ Credential Types
1. Perforce Password Credential
2. Perforce Ticket Credential
© Perforce Software Inc. All Rights Reserved.
Credentials
◦ Connection information
Username/Password
Perforce address and port
workshop.perforce.com:1666
◦ Password credentials
Username
Password
ID (useful to reference in the DSL)
Description
© Perforce Software Inc. All Rights Reserved.
Credentials
◦ Ticket based security
Perforce generated Ticket String
$ p4 login –p
4E034A8812F81B38229BF8FA62B0FEB1
Location of Perforce P4TICKET file
/home/pallen/.p4ticket
◦ SSL and Trust
Check the SSL box to add the ssl: part to P4PORT
Use p4 trust or click test to get the fingerprint
Workspace Management
Jenkins and Perforce Workspaces
© Perforce Software Inc. All Rights Reserved.
Workspaces
◦ Jenkins workspace
Location of files (on the master or slave) for Jenkins to build
◦ Perforce workspace
Location where Perforce will manage the versioned an non-versioned files
◦ Shared root
Recommend Perforce and Jenkins workspaces share the same root
One Jenkins workspace to map to one Perforce workspace
© Perforce Software Inc. All Rights Reserved.
Workspaces
◦ Workspace Configuration
Streams Workspace
Manual Workspace
Template Workspace
Static Workspace (predefined)
Spec Workspace (spec depot or file)
workspace: [$class: 'StreamWorkspaceImpl',
charset: 'none',
format: 'jenkins-${NODE_NAME}-${JOB_NAME}',
pinHost: false,
streamName: '//streams/st1-main']
Perforce Operations
Checkout, Build and Post Build Steps
© Perforce Software Inc. All Rights Reserved.
CD Pipe
◦ SCM Operations
Artifact
SCM
{"id":[{"name":"bob"}
]}
CI Build pipeline
package main
import "fmt”
func main() {
@change @label@review
populate
unshelve
label
publish
© Perforce Software Inc. All Rights Reserved.
SCM Operations
◦ Populate p4sync / checkout
Synchronize the files in the Workspace prior to build.
◦ Unshelve p4unshelve
Unshelve code into the Workspace prior to build.
◦ Publish p4publish
Submit files back into Perforce, post build.
◦ Label p4tag
Automatic label against the populated files in the Workspace, post build.
© Perforce Software Inc. All Rights Reserved.
Populate
◦ Auto Cleanup and Sync
populate:[$class:'AutoCleanImpl',
delete:true, replace:true, modtime:false,
quiet:true, pin:''
]
◦ Force Clean and Sync
populate: [$class: 'ForceCleanImpl',
have:false, pin:'', quiet:true
]
© Perforce Software Inc. All Rights Reserved.
Unshelve
◦ Unshelve Build Step
Unshelve the change as a Build step defined in the Job
Files are unshelved and resolved prior build.
p4unshelve resolve:'at', shelf:'12345'
© Perforce Software Inc. All Rights Reserved.
Publish
◦ Shelve or Submit a change
◦ Connection & Workspace
◦ Use a narrow view
◦ Virtual stream
◦ Read/Write access for files
Set Workspace option ALLWRITE or use filetype +w
© Perforce Software Inc. All Rights Reserved.
Publish
p4publish credential:'phooey1666',
publish: [
$class:'SubmitImpl',
delete:false,
description:'Build: ${BUILD_TAG}',
onlyOnSuccess:false,
reopen:false],
workspace: [
$class:'StreamWorkspaceImpl',
charset:'none',
format:'jenkins-${JOB_NAME}-publish',
pinHost:false,
streamName:'//streams/st1-main']
© Perforce Software Inc. All Rights Reserved.
Label
◦ Automatic label
Label on success option
Uses Populate Client’s View
◦ Name & Description
p4tag rawLabelName:'${JOB_NAME}-passed',
rawLabelDesc:'''Jenkins job: ${JOB_NAME}
Jenkins build: ${BUILD_TAG}
Jenkins build date: ${BUILD_ID}
Jenkins build number: ${BUILD_NUMBER}'''
Polling, Triggers and Reviews
Still polling?
© Perforce Software Inc. All Rights Reserved.
Polling… if you must
◦ Polling build Filters
Exclude changes from Depot path
Exclude changes from user
Exclude changes outside view mask
Poll on Master using Latest Build
Polling per Change
◦ Workspace modes
Workspace to check the build - Preview check Only (sync –k)
© Perforce Software Inc. All Rights Reserved.
Triggers
◦ Perforce triggered build
◦ Subscribe Job (P4 Trigger)
curl --header 'Content-Type: application/json' 
--request POST 
--data "payload={change:200,p4port:"perforce.com:1666"}" 
http://jenkins:8080/p4/change
◦ Swarm (P4 Review)
Build triggered by Perforce Swarm.
Review or Change unshelved into workspace prior to build
© Perforce Software Inc. All Rights Reserved.
Swarm
[POST]
https://swarm:deadbeef@perforce.com:8443
/job/myJob/review/build
?change={change}&status={status}&review={review}
&pass={pass}&fail={fail}
P4 Groovy
P4 command access for Groovy
© Perforce Software Inc. All Rights Reserved.
P4Groovy
◦ P4Groovy object
Credential
Workspace
ws = [$class: 'StreamWorkspaceImpl',
charset: 'none', format: 'jenkins-${JOB_NAME}',
pinHost: false, streamName: '//streams/projAce']
p4 = p4(credential: 'phooey', workspace: ws)
© Perforce Software Inc. All Rights Reserved.
P4Groovy Methods
◦ Run
Requires: command, arguments (‘,’ separated String)
Returns: tagged output (specifically Map<String, Object>[])
p4.run(’changes', '-m5, //...')
◦ Getters
p4.getUserName()
p4.getClientName()
© Perforce Software Inc. All Rights Reserved.
P4Groovy Methods
◦ Fetch
Requires: spec type, spec id
Returns: a spec as a Map
client = p4.fetch(‘client’, ‘my_ws’)
◦ Save
Requires: spec type, the spec as a Map
Returns: tagged output (specifically Map<String, Object>[])
p4.save(‘client’, client)
© Perforce Software Inc. All Rights Reserved.
Example
◦ Combine Steps with P4Groovy
Populate is made up of several steps not just sync
Use P4Groove for custom operations e.g.
node() {
...
job = p4.fetch('job', 'job000006')
desc = job.get('Description')
desc = desc + env.BUILD_URL
job.put('Description', desc)
p4.save('job', job)
}
Thanks for Joining us!
End
Ad

More Related Content

What's hot (20)

Ibis: Seamless Transition Between Pandas and Apache Spark
Ibis: Seamless Transition Between Pandas and Apache SparkIbis: Seamless Transition Between Pandas and Apache Spark
Ibis: Seamless Transition Between Pandas and Apache Spark
Databricks
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
Anne Nicolas
 
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
Motohiko Sato
 
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
Amazon Web Services Japan
 
Introduction to DPDK RIB library
Introduction to DPDK RIB libraryIntroduction to DPDK RIB library
Introduction to DPDK RIB library
Глеб Хохлов
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Yahoo!デベロッパーネットワーク
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark Summit
 
NIST:クラウドコンピューティング参照アーキテクチャ(概説)
NIST:クラウドコンピューティング参照アーキテクチャ(概説)NIST:クラウドコンピューティング参照アーキテクチャ(概説)
NIST:クラウドコンピューティング参照アーキテクチャ(概説)
hidekazuna
 
監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp
監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp
監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp
Yahoo!デベロッパーネットワーク
 
How to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsHow to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized Optimizations
Databricks
 
Hudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilitiesHudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilities
Nishith Agarwal
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
Thomas Graf
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
Etsuji Nakai
 
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
 
サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情
Shinya Mochida
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Linaro
 
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
NTT DATA Technology & Innovation
 
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Kentoku
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
 
Deep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.xDeep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.x
Databricks
 
Ibis: Seamless Transition Between Pandas and Apache Spark
Ibis: Seamless Transition Between Pandas and Apache SparkIbis: Seamless Transition Between Pandas and Apache Spark
Ibis: Seamless Transition Between Pandas and Apache Spark
Databricks
 
Kernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDPKernel Recipes 2019 - Suricata and XDP
Kernel Recipes 2019 - Suricata and XDP
Anne Nicolas
 
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
Motohiko Sato
 
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
[PGConf.ASIA 2018]Deep Dive on Amazon Aurora with PostgreSQL Compatibility
Amazon Web Services Japan
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Yahoo!デベロッパーネットワーク
 
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark + Parquet In Depth: Spark Summit East Talk by Emily Curtin and Robbie S...
Spark Summit
 
NIST:クラウドコンピューティング参照アーキテクチャ(概説)
NIST:クラウドコンピューティング参照アーキテクチャ(概説)NIST:クラウドコンピューティング参照アーキテクチャ(概説)
NIST:クラウドコンピューティング参照アーキテクチャ(概説)
hidekazuna
 
監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp
監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp
監視の基礎から知る、ヤフーの大量クラスタ監視システムの仕組み #k8sjp
Yahoo!デベロッパーネットワーク
 
How to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized OptimizationsHow to Extend Apache Spark with Customized Optimizations
How to Extend Apache Spark with Customized Optimizations
Databricks
 
Hudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilitiesHudi architecture, fundamentals and capabilities
Hudi architecture, fundamentals and capabilities
Nishith Agarwal
 
DevConf 2014 Kernel Networking Walkthrough
DevConf 2014   Kernel Networking WalkthroughDevConf 2014   Kernel Networking Walkthrough
DevConf 2014 Kernel Networking Walkthrough
Thomas Graf
 
Dockerを支える技術
Dockerを支える技術Dockerを支える技術
Dockerを支える技術
Etsuji Nakai
 
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
 
サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情サーバーサイド Kotlin のテストフレームワーク事情
サーバーサイド Kotlin のテストフレームワーク事情
Shinya Mochida
 
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Linaro
 
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
ストリーム処理におけるApache Avroの活用について(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
NTT DATA Technology & Innovation
 
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Spiderストレージエンジンの使い方と利用事例 他ストレージエンジンの紹介
Kentoku
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
歩 柴田
 
Deep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.xDeep Dive into GPU Support in Apache Spark 3.x
Deep Dive into GPU Support in Apache Spark 3.x
Databricks
 

Viewers also liked (20)

Streams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik KnopStreams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik Knop
Perforce
 
Single Source of Truth in a Distributed World by Sven Erik Knop
Single Source of Truth in a Distributed World by Sven Erik KnopSingle Source of Truth in a Distributed World by Sven Erik Knop
Single Source of Truth in a Distributed World by Sven Erik Knop
Perforce
 
Perforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad LitwinPerforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad Litwin
Perforce
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
Perforce
 
Are You a Female Misogynist?
Are You a Female Misogynist?Are You a Female Misogynist?
Are You a Female Misogynist?
Anne Dranitsaris, Ph.D.
 
How Samsung Engineers Do Pre-Commit Builds with Perforce Helix Streams
How Samsung Engineers Do Pre-Commit Builds with Perforce Helix StreamsHow Samsung Engineers Do Pre-Commit Builds with Perforce Helix Streams
How Samsung Engineers Do Pre-Commit Builds with Perforce Helix Streams
Perforce
 
Infographic: Perforce vs Subversion
Infographic: Perforce vs SubversionInfographic: Perforce vs Subversion
Infographic: Perforce vs Subversion
Perforce
 
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
Perforce
 
[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction
Perforce
 
[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP
Perforce
 
[NetApp Managing Big Workspaces with Storage Magic
[NetApp Managing Big Workspaces with Storage Magic[NetApp Managing Big Workspaces with Storage Magic
[NetApp Managing Big Workspaces with Storage Magic
Perforce
 
Continuous Validation
Continuous ValidationContinuous Validation
Continuous Validation
Perforce
 
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
Perforce
 
Cheat Sheet
Cheat SheetCheat Sheet
Cheat Sheet
Perforce
 
[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix
Perforce
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
Perforce
 
Infographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCaseInfographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCase
Perforce
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture
Perforce
 
Granular Protections Management with Triggers
Granular Protections Management with TriggersGranular Protections Management with Triggers
Granular Protections Management with Triggers
Perforce
 
How Continuous Delivery Helped McKesson Create Award Winning Applications
How Continuous Delivery Helped McKesson Create Award Winning ApplicationsHow Continuous Delivery Helped McKesson Create Award Winning Applications
How Continuous Delivery Helped McKesson Create Award Winning Applications
Perforce
 
Streams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik KnopStreams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik Knop
Perforce
 
Single Source of Truth in a Distributed World by Sven Erik Knop
Single Source of Truth in a Distributed World by Sven Erik KnopSingle Source of Truth in a Distributed World by Sven Erik Knop
Single Source of Truth in a Distributed World by Sven Erik Knop
Perforce
 
Perforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad LitwinPerforce - Under New Management by Konrad Litwin
Perforce - Under New Management by Konrad Litwin
Perforce
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
Perforce
 
How Samsung Engineers Do Pre-Commit Builds with Perforce Helix Streams
How Samsung Engineers Do Pre-Commit Builds with Perforce Helix StreamsHow Samsung Engineers Do Pre-Commit Builds with Perforce Helix Streams
How Samsung Engineers Do Pre-Commit Builds with Perforce Helix Streams
Perforce
 
Infographic: Perforce vs Subversion
Infographic: Perforce vs SubversionInfographic: Perforce vs Subversion
Infographic: Perforce vs Subversion
Perforce
 
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
[AMD] Novel Use of Perforce for Software Auto-updates and File Transfer
Perforce
 
[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction[IC Manage] Workspace Acceleration & Network Storage Reduction
[IC Manage] Workspace Acceleration & Network Storage Reduction
Perforce
 
[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP[SAP] Perforce Administrative Self Services at SAP
[SAP] Perforce Administrative Self Services at SAP
Perforce
 
[NetApp Managing Big Workspaces with Storage Magic
[NetApp Managing Big Workspaces with Storage Magic[NetApp Managing Big Workspaces with Storage Magic
[NetApp Managing Big Workspaces with Storage Magic
Perforce
 
Continuous Validation
Continuous ValidationContinuous Validation
Continuous Validation
Perforce
 
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
[Webinar] The Changing Role of Release Engineering in a DevOps World with J. ...
Perforce
 
Cheat Sheet
Cheat SheetCheat Sheet
Cheat Sheet
Perforce
 
[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix
Perforce
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
Perforce
 
Infographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCaseInfographic: Perforce vs ClearCase
Infographic: Perforce vs ClearCase
Perforce
 
[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture[NetherRealm Studios] Game Studio Perforce Architecture
[NetherRealm Studios] Game Studio Perforce Architecture
Perforce
 
Granular Protections Management with Triggers
Granular Protections Management with TriggersGranular Protections Management with Triggers
Granular Protections Management with Triggers
Perforce
 
How Continuous Delivery Helped McKesson Create Award Winning Applications
How Continuous Delivery Helped McKesson Create Award Winning ApplicationsHow Continuous Delivery Helped McKesson Create Award Winning Applications
How Continuous Delivery Helped McKesson Create Award Winning Applications
Perforce
 
Ad

Similar to Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins (20)

Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
Helgi Þormar Þorbjörnsson
 
Vikash_Kr_Singh_CV
Vikash_Kr_Singh_CVVikash_Kr_Singh_CV
Vikash_Kr_Singh_CV
Vikash Kumar Singh
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in Rust
InfluxData
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Systems
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
Sébastien Morel
 
Building JBoss AS 7 for Fedora
Building JBoss AS 7 for FedoraBuilding JBoss AS 7 for Fedora
Building JBoss AS 7 for Fedora
wolfc71
 
Belvedere
BelvedereBelvedere
Belvedere
Colin Panisset
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
Alan Pinstein
 
Alfresco sdk 2.0
Alfresco sdk 2.0Alfresco sdk 2.0
Alfresco sdk 2.0
Yoshi Aochi
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment
Evaldo Felipe
 
A General Purpose Docker Image for PHP
A General Purpose Docker Image for PHPA General Purpose Docker Image for PHP
A General Purpose Docker Image for PHP
Robert Lemke
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015
Alex S
 
Xebia labsperforce final
Xebia labsperforce finalXebia labsperforce final
Xebia labsperforce final
Perforce
 
Transferring Changes Between Perforce Servers
Transferring Changes Between Perforce ServersTransferring Changes Between Perforce Servers
Transferring Changes Between Perforce Servers
Perforce
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
Wildan Maulana
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
Akshaya Mahapatra
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
Geoff Harcourt
 
Api Design
Api DesignApi Design
Api Design
sumithra jonnalagadda
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
Ian Barber
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
Mandi Walls
 
Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
Helgi Þormar Þorbjörnsson
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in Rust
InfluxData
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Systems
 
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
eZ Platform Cloud and eZ Launchpad: Don’t Host, Don’t Deploy, Don’t Install—J...
Sébastien Morel
 
Building JBoss AS 7 for Fedora
Building JBoss AS 7 for FedoraBuilding JBoss AS 7 for Fedora
Building JBoss AS 7 for Fedora
wolfc71
 
Lean Php Presentation
Lean Php PresentationLean Php Presentation
Lean Php Presentation
Alan Pinstein
 
Alfresco sdk 2.0
Alfresco sdk 2.0Alfresco sdk 2.0
Alfresco sdk 2.0
Yoshi Aochi
 
DevOps in PHP environment
DevOps in PHP environment DevOps in PHP environment
DevOps in PHP environment
Evaldo Felipe
 
A General Purpose Docker Image for PHP
A General Purpose Docker Image for PHPA General Purpose Docker Image for PHP
A General Purpose Docker Image for PHP
Robert Lemke
 
Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015Ansible is the simplest way to automate. SymfonyCafe, 2015
Ansible is the simplest way to automate. SymfonyCafe, 2015
Alex S
 
Xebia labsperforce final
Xebia labsperforce finalXebia labsperforce final
Xebia labsperforce final
Perforce
 
Transferring Changes Between Perforce Servers
Transferring Changes Between Perforce ServersTransferring Changes Between Perforce Servers
Transferring Changes Between Perforce Servers
Perforce
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
Wildan Maulana
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
Akshaya Mahapatra
 
DCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production ParityDCRUG: Achieving Development-Production Parity
DCRUG: Achieving Development-Production Parity
Geoff Harcourt
 
Deployment Tactics
Deployment TacticsDeployment Tactics
Deployment Tactics
Ian Barber
 
InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018InSpec Workshop at Velocity London 2018
InSpec Workshop at Velocity London 2018
Mandi Walls
 
Ad

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
Perforce
 
How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
Branching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development ProcessBranching Out: How To Automate Your Development Process
Branching Out: How To Automate Your Development Process
Perforce
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
Perforce
 

Recently uploaded (20)

Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...Explaining GitHub Actions Failures with Large Language Models Challenges, In...
Explaining GitHub Actions Failures with Large Language Models Challenges, In...
ssuserb14185
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025Adobe Lightroom Classic Crack FREE Latest link 2025
Adobe Lightroom Classic Crack FREE Latest link 2025
kashifyounis067
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 

Perfecting Your Development Tools: Updates to the Helix Plugin for Jenkins

  • 1. Perforce Plugin for Jenkins An introduction to the ‘P4’ Plugin and update on the latest features. Paul Allen – Perforce Software
  • 2. © Perforce Software Inc. All Rights Reserved. Paul Allen Senior Integration Engineer Perforce
  • 3. © Perforce Software Inc. All Rights Reserved. Introduction ◦ The Perfect Monorepo ◦ P4 plugin ◦ Credentials ◦ Workspace management ◦ Perforce Operations ◦ Polling, triggers and reviews ◦ P4 Groovy
  • 4. The Perfect Monorepo What is a Monorepo?
  • 5. © Perforce Software Inc. All Rights Reserved. One Repo to rule them all, One Repo to find them, One Repo to bring them all and in the server bind them. One Repo
  • 6. © Perforce Software Inc. All Rights Reserved. One Store Store all sources, projects and sub projects; even artifacts, tooling, docs and test reports...
  • 7. © Perforce Software Inc. All Rights Reserved. One History Boldly go across source and time Reproduce any source at any point in time
  • 8. © Perforce Software Inc. All Rights Reserved. Global Access Any file any where Fast Global Distribution Fine grain protections
  • 9. P4 Plugin Perforce plugin support for Jenkins
  • 10. © Perforce Software Inc. All Rights Reserved. Disambiguation ◦ Community ‘Perforce’ plugin https://wiki.jenkins-ci.org/display/JENKINS/Perforce+Plugin ◦ Perforce Supported ‘P4’ plugin https://wiki.jenkins-ci.org/display/JENKINS/P4+Plugin
  • 11. © Perforce Software Inc. All Rights Reserved. The ‘P4’ plugin ◦ Why Access the power of Perforce from within Jenkins ◦ P4Java Pure Java solution No ‘P4’ executable to install and keep up-to-date. ◦ Latest features Streams, sync and clean up options
  • 13. © Perforce Software Inc. All Rights Reserved. Credentials ◦ Perforce Credentials Shared Credentials Managed from one location Independent from the Job configuration Update connection details in one location ◦ Credential Types 1. Perforce Password Credential 2. Perforce Ticket Credential
  • 14. © Perforce Software Inc. All Rights Reserved. Credentials ◦ Connection information Username/Password Perforce address and port workshop.perforce.com:1666 ◦ Password credentials Username Password ID (useful to reference in the DSL) Description
  • 15. © Perforce Software Inc. All Rights Reserved. Credentials ◦ Ticket based security Perforce generated Ticket String $ p4 login –p 4E034A8812F81B38229BF8FA62B0FEB1 Location of Perforce P4TICKET file /home/pallen/.p4ticket ◦ SSL and Trust Check the SSL box to add the ssl: part to P4PORT Use p4 trust or click test to get the fingerprint
  • 16. Workspace Management Jenkins and Perforce Workspaces
  • 17. © Perforce Software Inc. All Rights Reserved. Workspaces ◦ Jenkins workspace Location of files (on the master or slave) for Jenkins to build ◦ Perforce workspace Location where Perforce will manage the versioned an non-versioned files ◦ Shared root Recommend Perforce and Jenkins workspaces share the same root One Jenkins workspace to map to one Perforce workspace
  • 18. © Perforce Software Inc. All Rights Reserved. Workspaces ◦ Workspace Configuration Streams Workspace Manual Workspace Template Workspace Static Workspace (predefined) Spec Workspace (spec depot or file) workspace: [$class: 'StreamWorkspaceImpl', charset: 'none', format: 'jenkins-${NODE_NAME}-${JOB_NAME}', pinHost: false, streamName: '//streams/st1-main']
  • 19. Perforce Operations Checkout, Build and Post Build Steps
  • 20. © Perforce Software Inc. All Rights Reserved. CD Pipe ◦ SCM Operations Artifact SCM {"id":[{"name":"bob"} ]} CI Build pipeline package main import "fmt” func main() { @change @label@review populate unshelve label publish
  • 21. © Perforce Software Inc. All Rights Reserved. SCM Operations ◦ Populate p4sync / checkout Synchronize the files in the Workspace prior to build. ◦ Unshelve p4unshelve Unshelve code into the Workspace prior to build. ◦ Publish p4publish Submit files back into Perforce, post build. ◦ Label p4tag Automatic label against the populated files in the Workspace, post build.
  • 22. © Perforce Software Inc. All Rights Reserved. Populate ◦ Auto Cleanup and Sync populate:[$class:'AutoCleanImpl', delete:true, replace:true, modtime:false, quiet:true, pin:'' ] ◦ Force Clean and Sync populate: [$class: 'ForceCleanImpl', have:false, pin:'', quiet:true ]
  • 23. © Perforce Software Inc. All Rights Reserved. Unshelve ◦ Unshelve Build Step Unshelve the change as a Build step defined in the Job Files are unshelved and resolved prior build. p4unshelve resolve:'at', shelf:'12345'
  • 24. © Perforce Software Inc. All Rights Reserved. Publish ◦ Shelve or Submit a change ◦ Connection & Workspace ◦ Use a narrow view ◦ Virtual stream ◦ Read/Write access for files Set Workspace option ALLWRITE or use filetype +w
  • 25. © Perforce Software Inc. All Rights Reserved. Publish p4publish credential:'phooey1666', publish: [ $class:'SubmitImpl', delete:false, description:'Build: ${BUILD_TAG}', onlyOnSuccess:false, reopen:false], workspace: [ $class:'StreamWorkspaceImpl', charset:'none', format:'jenkins-${JOB_NAME}-publish', pinHost:false, streamName:'//streams/st1-main']
  • 26. © Perforce Software Inc. All Rights Reserved. Label ◦ Automatic label Label on success option Uses Populate Client’s View ◦ Name & Description p4tag rawLabelName:'${JOB_NAME}-passed', rawLabelDesc:'''Jenkins job: ${JOB_NAME} Jenkins build: ${BUILD_TAG} Jenkins build date: ${BUILD_ID} Jenkins build number: ${BUILD_NUMBER}'''
  • 27. Polling, Triggers and Reviews Still polling?
  • 28. © Perforce Software Inc. All Rights Reserved. Polling… if you must ◦ Polling build Filters Exclude changes from Depot path Exclude changes from user Exclude changes outside view mask Poll on Master using Latest Build Polling per Change ◦ Workspace modes Workspace to check the build - Preview check Only (sync –k)
  • 29. © Perforce Software Inc. All Rights Reserved. Triggers ◦ Perforce triggered build ◦ Subscribe Job (P4 Trigger) curl --header 'Content-Type: application/json' --request POST --data "payload={change:200,p4port:"perforce.com:1666"}" http://jenkins:8080/p4/change ◦ Swarm (P4 Review) Build triggered by Perforce Swarm. Review or Change unshelved into workspace prior to build
  • 30. © Perforce Software Inc. All Rights Reserved. Swarm [POST] https://swarm:[email protected]:8443 /job/myJob/review/build ?change={change}&status={status}&review={review} &pass={pass}&fail={fail}
  • 31. P4 Groovy P4 command access for Groovy
  • 32. © Perforce Software Inc. All Rights Reserved. P4Groovy ◦ P4Groovy object Credential Workspace ws = [$class: 'StreamWorkspaceImpl', charset: 'none', format: 'jenkins-${JOB_NAME}', pinHost: false, streamName: '//streams/projAce'] p4 = p4(credential: 'phooey', workspace: ws)
  • 33. © Perforce Software Inc. All Rights Reserved. P4Groovy Methods ◦ Run Requires: command, arguments (‘,’ separated String) Returns: tagged output (specifically Map<String, Object>[]) p4.run(’changes', '-m5, //...') ◦ Getters p4.getUserName() p4.getClientName()
  • 34. © Perforce Software Inc. All Rights Reserved. P4Groovy Methods ◦ Fetch Requires: spec type, spec id Returns: a spec as a Map client = p4.fetch(‘client’, ‘my_ws’) ◦ Save Requires: spec type, the spec as a Map Returns: tagged output (specifically Map<String, Object>[]) p4.save(‘client’, client)
  • 35. © Perforce Software Inc. All Rights Reserved. Example ◦ Combine Steps with P4Groovy Populate is made up of several steps not just sync Use P4Groove for custom operations e.g. node() { ... job = p4.fetch('job', 'job000006') desc = job.get('Description') desc = desc + env.BUILD_URL job.put('Description', desc) p4.save('job', job) }
  • 37. End

Editor's Notes

  • #4: What makes the perfect monorepo The P4 Plugin …
  • #7: No storage limits Any size any type, users with Petabytes of data
  • #8: Cross project Mapping, map any file from any repo in your view. Global sequential identifier Global change number across all repos; sequential so you know what happened when
  • #9: Global distribution Distributed replicas (edge/commit) and build servers, not to forget proxies (some sites proxies per-switch per-floor) Fine grain protection Any level, from none to fully encrypted traffic. Access level as fine as you like even down to the individual file and restricted to user/group IP even proxy. Distributed Client Little known fact that we have DVCS support built in. Take any portion of the server and its history off-line and push you changes back later.
  • #12: The P4 plugin was designed to allow you to access all the power of the Perforce MonoRepo. Allowing Jenkins to fetch source and artifacts from Perforce and version the resulting build artifacts
  • #17: 20minutes here
  • #23: share - appears in the workspace and you can submit and integrate to the parent isolate - appears in the workspace and you can submit, isolated from parent import - appears in the workspace only, cannot submit changes (import+) exclude - will not appear in the workspace, cannot get submitted
  • #28: Preview Check Only – sync -k to trigger polling Sync Only – no cleanup