Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Combine Artifacts and Source in a Single Server

398 views

Published on

See how to use Perforce Helix as an artifact manager by extending a Helix repository to store artifacts used for build and deployment. We’ll demo our proof of concept, Hive, and its core functions for configuring and adding new artifact repositories.

Published in: Software
  • GIVE HER A BIGGER PACKAGE THIS VALENTINE'S DAY ♣♣♣ https://bit.ly/30G1ZO1
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

How to Combine Artifacts and Source in a Single Server

  1. 1. Hive Helix Artifact Manager Paul Allen Senior Integration Engineer Sven Erik Knop Technical Marketing Manager
  2. 2. 2 Artifact manager?  Common artifact managers • Sonatype Nexus • Artifactory • Nuget (Windows specific) • Apache Archiva
  3. 3. 3 What is an Artifact?  ‘... one of many kinds of tangible by-products produced during the development of software.’ Wikipedia: Artifact (software development)  Typically generated through a build process • Intermediary artifacts such as Java jar files or DLLs • Containers or Executables  Metadata describes details such as version or build time
  4. 4. 4 Lifecycle of an Artifact  Build processes • Consume artifacts • Generate (intermediate) artifacts • Produce (deployable) artifacts ArtifactSCM 10101100 11100111 10101100 11100111 CI Build pipeline
  5. 5. 5 What does an Artifact Manager do?  Storage of artifacts with their Metadata  Distribution through standardized access  Management
  6. 6. 6 Why Hive?  We have an artifact storage – it is called Helix! • Storage, Security, Replication ...  Needs common interfaces • Accessibility for consumers • Browse, search and deploy • Management for setup, permission and cleanup
  7. 7. 7 Hive  Stores and makes accessible your artifacts  Prototype of an Artifact Manager built on Helix • Lives in the workshop  Nectar for your bees, hence the name
  8. 8. Here comes the Science bit… Over to Paul
  9. 9. 9 User Functions What is Hive? Helix P4D Hive PluginFramework Generic Docker Maven Docker Vagrant Browse Search Deploy
  10. 10. 10 Generic Artifacts  Basic Curl for retrieval and deployment curl -o p4java.jar http://localhost:4567/view/test/p4java.jar curl -u admin:Password --upload-file p4java.jar http://localhost:4567/view/test/p4java.jar
  11. 11. 11 Maven API  …or perhaps more useful, Maven: mvn package mvn deploy:deploy-file -DgroupId=com.perforce -DartifactId=p4java -Dversion=2015.1.1067177 -DrepositoryId=hive -Durl=http://localhost:4567/view/test -Dfile=p4java-2015.1.1067177.jar
  12. 12. 12 Hive Pipeline ArtifactSCM 10101100 11100111 10101100 11100111 CI Build pipeline
  13. 13. 13 Hive Pipeline ArtifactSCM 10101100 11100111 10101100 11100111 CI Build pipeline Hive Docker Maven
  14. 14. 14 Helix backed Storage  Helix Depots Backed by one or more ‘local’ depot for each type. For example: 3 different Maven depots. PluginFramework Generic Maven Docker Vagrant // // // // // // //
  15. 15. 15 Depot Types  Storage • Internal repository for company generated artifacts  Proxy • Cached copy of artifacts from a remote repository  Group • Collection of repositories: Storage, Proxy and other Groups • Query order determined by group
  16. 16. 16 JSON Magic  Uses the Depot Description field for metadata Depot:mvn-central Type: local Description: Json: { "url":"http://repo1.maven.org/maven2/", "name":"mvn-central", "title":"Maven Central Proxy", "site":"PROXY", "type":"MAVEN", "description":"Proxy for Maven Central" }
  17. 17. 17 File Storage  Accessible by all our clients • Path matches the artifact • No custom formats  All the features of Helix • Proxy • Replication technologies
  18. 18. 18 Deployment Helix P4D HiveUsers
  19. 19. 19 Distribution Replica ProxyHelix P4D
  20. 20. 20 Web Management  Browse  Search  Deploy
  21. 21. 21 User Administration  In addition to regular Perforce users anonymous Grant access to artifact depots for users without a login hive Grant access to artifact depots for Hive to cache files
  22. 22. 22 Web Administration  Secure login  Manage Repos  Map Groups  Permissions  Obliterate
  23. 23. 23 Demo  Browse anonymously  Login and Browse  Search for Content  Deploy an artifact
  24. 24. 24 Follow Hive in the Workshop  Help develop plugins  Suggest improvements  Follow the activity
  25. 25. Thank you! pallen@perforce.com sknop@perforce.com @p4paul @p4sven

×