Copyright @ 2020 JFrog - All rights reserved.
Tal Yitzhak, Solution Engineer @ JFrog
ARTIFACTORY ESSENTIALS WORKSHOP
Copyright @ 2020 JFrog - All rights reserved.
▪ Test drive for attendees here
▪ 1.5 hour session - few slides, lots of hands-on demos
▪ Q&A
○ Ask any question, any time.
○ Questions / problems will be answered over the “chat” or “offline” after the session
▪ Assuming basic familiarity with the tools covered here
▪ 1x1 follow up meetings
GENERAL AND LOGISTICS
Copyright @ 2020 JFrog - All rights reserved.
SELF INTRODUCTION
Copyright @ 2020 JFrog - All rights reserved.
WEBINAR AGENDA
▪ Binary/Repo Management
▪ CI/Build Integration
▪ Metadata & Automation tools
▪ Security & Permissions
▪ JFrog Platform Overview
▪ Recap and summary
Copyright @ 2020 JFrog - All rights reserved.
Binary/Repostory MANAGEMENT
5
Copyright @ 2020 JFrog - All rights reserved.
FROM CODE TO RELEASE
Source Code
Dependencies
Build, test, scan
Artifact or
Package
Distribute &
Deploy
Copyright @ 2020 JFrog - All rights reserved.
What is Artifactory?
7
• A Universal Binary Repository Manager
• The place where you can store all your artifacts and/or dependencies
• Proxy for remote repositories
• Your dependency/CI manager will work against it
Remote
Repositories
Copyright @ 2020 JFrog - All rights reserved.
8
Repository Types
● Local - Physical, locally-managed repository
● Remote - Proxy of another network repo/another artifactory
(lazy cache)
● Virtual - Aggregation of repos under one URL (Local and/or
Remote)
Copyright @ 2020 JFrog - All rights reserved.
4
Version
Control
System
Commit
the
changes
External Data Sources
Update
7
Resolve
dependencies
8 Deploy module Artifacts
and Buildinfo BOM
Build Tools/Dependency Managers
6 Build
CI Servers
5
Take
VCS
changes
Provisioning Tools
10 Deploy to
Production
Production
Servers
10
Roll out
for Internal
Distribution
Monitor
Manage
Analyze
Build Tools/Dependency Managers
1
Dev.
Team
Declare new
dependencies
2
Resolve
dependencies
DISTRIBUTION
XRAY
ARTIFACTORY
EDGE
ARTIFACTORY
EDGE
ARTIFACTORY
EDGE
Remote Repositories
3 Resolve
dependencies
PIPELINES
MISSION
CONTROL
QA/QC
9 Contribute
Metadata
ARTIFACTORY
DEVOPS FLOW
Copyright @ 2019 JFrog - All rights reserved.
10
DEMO TIME - Artifactory Overview
Copyright @ 2020 JFrog - All rights reserved.
ARTIFACTORY METADATA
And
Automation Tools
11
Copyright @ 2020 JFrog - All rights reserved.
12
ARTIFACTORY METADATA
● Key-Value pairs
● Can be assigned to anything
● Supported in different functionalities
● Can be used via the UI, REST API, CLI and more
● Searchable and resolutionable
Copyright @ 2020 JFrog - All rights reserved.
13
AUTOMATION AT THE HEART OF DEVOPS
● Metadata on everything
● Full REST API for everything
○ https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API
● Optimized command line interface (CLI)
○ https://www.jfrog.com/confluence/display/CLI/JFrog+CLI
● Artifactory Query Language (AQL)
○ https://www.jfrog.com/confluence/display/JFROG/Artifactory+Query+Lang
uage
● Highly extensible plugin framework
REST API EXAMPLES
curl http://localhost:8082/artifactory/api/system/ping
//using encrypted password
curl -uUSER:PASSWD http://localhost:8082/artifactory/api/system/service_id
//downloading a file
curl -uUSER:PASSWD http://localhost:8082/artifactory/docker-stage-local/docker-app/58/manifest.json
//create a repo
curl -uUSER:PASSWD -XPUT 'http://localhost:8082/artifactory/api/repositories/my2proj-docker-dev-us' -H
'Content-Type: application/json' -d @createLocalRepo.json
Copyright @ 2020 JFrog - All rights reserved.
JFROG CLI
▪ Smart client with
▪ Simple interface to JFrog products.
▪ Turn your automations scripts to be more efficient, reliable and maintainable.
▪ Advantages:
○ High level functionality (Parallelism, resumability, wildcards, etc.)
○ Checksum awareness
○ Multiple configurations support
○ Simulation mode
Copyright @ 2020 JFrog - All rights reserved.
CLI SYNTAX
jfrog target command-name global-options command-options arguments
Command to execute:
config
upload & download
copy, move, delete
search & properties
build integration
create release bundle
more
Global Options:
--url
--user
--password
--ssh-key-path
Command options:
--props
--recursive
--regexp
--threads
--dry-run
--deb
Command args
Possible Targets:
rt: Artifactory
rt: Distribution
mc: Mission Control
xr: Xray
CLI EXAMPLES
//For adding a new artifactory configuration
jfrog rt c --url=http://mydomain/artifactory --user=myuser --password=mypassword mylogicalname
//For downloading all files from a specific folder in a specific repository with unconfigured artifactory
jfrog rt dl "my-local-repo/all-my-frogs/" --url=http://domain/artifactory --user=admin --password=password
//For copying some files in a specific path to another repo/path
jfrog rt cp source-frog-repo/rabbit/ target-frog-repo/rabbit/
//For moving specific artifactory based on file spec
jfrog rt mv source-frog-repo/*.zip target-frog-repo
//For deleting some files from a specific repo/path - including interactive confirmation
jfrog rt delete my-other-generic-local/*.png
Copyright @ 2020 JFrog - All rights reserved.
ARTIFACTORY QUERY LANGUAGE
▪ AQL
▪ Proprietary JSON-like syntax
▪ Very powerful
▪ Translated to efficient DB queries
▪ Universal - any repository type is supported
▪ Can be used as REST API payloads and in JFrog CLI commands
Copyright @ 2019 JFrog - All rights reserved.
19
DEMO TIME - METADATA/Automtion tools
Copyright @ 2020 JFrog - All rights reserved.
BUILD/CI INTEGRATION
20
Copyright @ 2020 JFrog - All rights reserved.
21
SUPPORTED BUILD TOOLS
Copyright @ 2020 JFrog - All rights reserved.
22
SUPPORTED CI SERVERS
JFROG
PIPELINES
Copyright @ 2020 JFrog - All rights reserved.
23
INTEGRATION WITH CI SERVERS
● Supported plugins & extensions
● Any missing functionality can be added (REST or CLI)
● CI server downloads dependencies
● CI server upload package
● CI servers publishes build information
Copyright @ 2020 JFrog - All rights reserved.
24
Build Integration
● More than another client!
● Use Build Integration to see:
○ Builds
○ Published modules within builds
○ Published artifacts within modules
○ Dependencies used for build
○ Build environment
○ Unused artifacts
○ Build scope saved searches
○ Bidirectional links between Artifactory and build server
●
Copyright @ 2020 JFrog - All rights reserved.
25
Build Promotion
● Promotion: Tagging by properties OR Moving between repositories
Copyright @ 2019 JFrog - All rights reserved.
26
DEMO TIME - CI INTEGRATION
Copyright @ 2020 JFrog - All rights reserved.
SECURITY & PERMISSIONS
27
Copyright @ 2020 JFrog - All rights reserved.
28
PERMISSIONS MODEL
● Users
● User groups
● Resources
● Permission levels
● Permission Targets
Permission Target
Resources
Groups
Users
Repositories
Builds
Read | Annotate | Deploy/Cache |
Delete/Overwrite | Manage |
Manage Xray Metadata |
Distribute | Trigger
Release bundles
Destinations
Pipelines source
Copyright @ 2020 JFrog - All rights reserved.
29
OTHER SECURITY FEATURES
● LDAP integration
● Multiple SSO implementations
● Access tokens
● API keys
● Password encryption
● Additional security options in the admin menu
Copyright @ 2019 JFrog - All rights reserved.
30
DEMO TIME - SECURITY & PERMISSIONS
Copyright @ 2020 JFrog - All rights reserved.
31
OTHER SECURITY FEATURES
● LDAP integration
● Multiple SSO implementations
● Access tokens
● API keys
● Password encryption
● Additional security options in the admin menu
Copyright @ 2020 JFrog - All rights reserved.
THE JFROG PLATFORM
32
32
BUILD TEST RELEASE DEPLOY
Continuously integrate
automate & deploy
Scan for security
& compliance issues
Distribute to
production
sites
Control and
monitor the setup
On Premises
& Multi Cloud
Store and
manage all
types of
packages
JFrog
EDGE
Code Repo
JFrog
EDGE
JFrog
EDGE
SaaS &
Self Managed
Copyright @ 2020 JFrog - All rights reserved.
Topics Covered
▪ Binary/Repo Management
▪ Ci/Build Integration
▪ Metadata & Automation tools
▪ Security & Permissions
▪ JFrog Platform
▪ Recap and summary
Copyright @ 2020 JFrog - All rights reserved.
THANK YOU!
34

Artifactory Essentials Workshop on August 27, 2020 by JFrog

  • 1.
    Copyright @ 2020JFrog - All rights reserved. Tal Yitzhak, Solution Engineer @ JFrog ARTIFACTORY ESSENTIALS WORKSHOP
  • 2.
    Copyright @ 2020JFrog - All rights reserved. ▪ Test drive for attendees here ▪ 1.5 hour session - few slides, lots of hands-on demos ▪ Q&A ○ Ask any question, any time. ○ Questions / problems will be answered over the “chat” or “offline” after the session ▪ Assuming basic familiarity with the tools covered here ▪ 1x1 follow up meetings GENERAL AND LOGISTICS
  • 3.
    Copyright @ 2020JFrog - All rights reserved. SELF INTRODUCTION
  • 4.
    Copyright @ 2020JFrog - All rights reserved. WEBINAR AGENDA ▪ Binary/Repo Management ▪ CI/Build Integration ▪ Metadata & Automation tools ▪ Security & Permissions ▪ JFrog Platform Overview ▪ Recap and summary
  • 5.
    Copyright @ 2020JFrog - All rights reserved. Binary/Repostory MANAGEMENT 5
  • 6.
    Copyright @ 2020JFrog - All rights reserved. FROM CODE TO RELEASE Source Code Dependencies Build, test, scan Artifact or Package Distribute & Deploy
  • 7.
    Copyright @ 2020JFrog - All rights reserved. What is Artifactory? 7 • A Universal Binary Repository Manager • The place where you can store all your artifacts and/or dependencies • Proxy for remote repositories • Your dependency/CI manager will work against it Remote Repositories
  • 8.
    Copyright @ 2020JFrog - All rights reserved. 8 Repository Types ● Local - Physical, locally-managed repository ● Remote - Proxy of another network repo/another artifactory (lazy cache) ● Virtual - Aggregation of repos under one URL (Local and/or Remote)
  • 9.
    Copyright @ 2020JFrog - All rights reserved. 4 Version Control System Commit the changes External Data Sources Update 7 Resolve dependencies 8 Deploy module Artifacts and Buildinfo BOM Build Tools/Dependency Managers 6 Build CI Servers 5 Take VCS changes Provisioning Tools 10 Deploy to Production Production Servers 10 Roll out for Internal Distribution Monitor Manage Analyze Build Tools/Dependency Managers 1 Dev. Team Declare new dependencies 2 Resolve dependencies DISTRIBUTION XRAY ARTIFACTORY EDGE ARTIFACTORY EDGE ARTIFACTORY EDGE Remote Repositories 3 Resolve dependencies PIPELINES MISSION CONTROL QA/QC 9 Contribute Metadata ARTIFACTORY DEVOPS FLOW
  • 10.
    Copyright @ 2019JFrog - All rights reserved. 10 DEMO TIME - Artifactory Overview
  • 11.
    Copyright @ 2020JFrog - All rights reserved. ARTIFACTORY METADATA And Automation Tools 11
  • 12.
    Copyright @ 2020JFrog - All rights reserved. 12 ARTIFACTORY METADATA ● Key-Value pairs ● Can be assigned to anything ● Supported in different functionalities ● Can be used via the UI, REST API, CLI and more ● Searchable and resolutionable
  • 13.
    Copyright @ 2020JFrog - All rights reserved. 13 AUTOMATION AT THE HEART OF DEVOPS ● Metadata on everything ● Full REST API for everything ○ https://www.jfrog.com/confluence/display/JFROG/Artifactory+REST+API ● Optimized command line interface (CLI) ○ https://www.jfrog.com/confluence/display/CLI/JFrog+CLI ● Artifactory Query Language (AQL) ○ https://www.jfrog.com/confluence/display/JFROG/Artifactory+Query+Lang uage ● Highly extensible plugin framework
  • 14.
    REST API EXAMPLES curlhttp://localhost:8082/artifactory/api/system/ping //using encrypted password curl -uUSER:PASSWD http://localhost:8082/artifactory/api/system/service_id //downloading a file curl -uUSER:PASSWD http://localhost:8082/artifactory/docker-stage-local/docker-app/58/manifest.json //create a repo curl -uUSER:PASSWD -XPUT 'http://localhost:8082/artifactory/api/repositories/my2proj-docker-dev-us' -H 'Content-Type: application/json' -d @createLocalRepo.json
  • 15.
    Copyright @ 2020JFrog - All rights reserved. JFROG CLI ▪ Smart client with ▪ Simple interface to JFrog products. ▪ Turn your automations scripts to be more efficient, reliable and maintainable. ▪ Advantages: ○ High level functionality (Parallelism, resumability, wildcards, etc.) ○ Checksum awareness ○ Multiple configurations support ○ Simulation mode
  • 16.
    Copyright @ 2020JFrog - All rights reserved. CLI SYNTAX jfrog target command-name global-options command-options arguments Command to execute: config upload & download copy, move, delete search & properties build integration create release bundle more Global Options: --url --user --password --ssh-key-path Command options: --props --recursive --regexp --threads --dry-run --deb Command args Possible Targets: rt: Artifactory rt: Distribution mc: Mission Control xr: Xray
  • 17.
    CLI EXAMPLES //For addinga new artifactory configuration jfrog rt c --url=http://mydomain/artifactory --user=myuser --password=mypassword mylogicalname //For downloading all files from a specific folder in a specific repository with unconfigured artifactory jfrog rt dl "my-local-repo/all-my-frogs/" --url=http://domain/artifactory --user=admin --password=password //For copying some files in a specific path to another repo/path jfrog rt cp source-frog-repo/rabbit/ target-frog-repo/rabbit/ //For moving specific artifactory based on file spec jfrog rt mv source-frog-repo/*.zip target-frog-repo //For deleting some files from a specific repo/path - including interactive confirmation jfrog rt delete my-other-generic-local/*.png
  • 18.
    Copyright @ 2020JFrog - All rights reserved. ARTIFACTORY QUERY LANGUAGE ▪ AQL ▪ Proprietary JSON-like syntax ▪ Very powerful ▪ Translated to efficient DB queries ▪ Universal - any repository type is supported ▪ Can be used as REST API payloads and in JFrog CLI commands
  • 19.
    Copyright @ 2019JFrog - All rights reserved. 19 DEMO TIME - METADATA/Automtion tools
  • 20.
    Copyright @ 2020JFrog - All rights reserved. BUILD/CI INTEGRATION 20
  • 21.
    Copyright @ 2020JFrog - All rights reserved. 21 SUPPORTED BUILD TOOLS
  • 22.
    Copyright @ 2020JFrog - All rights reserved. 22 SUPPORTED CI SERVERS JFROG PIPELINES
  • 23.
    Copyright @ 2020JFrog - All rights reserved. 23 INTEGRATION WITH CI SERVERS ● Supported plugins & extensions ● Any missing functionality can be added (REST or CLI) ● CI server downloads dependencies ● CI server upload package ● CI servers publishes build information
  • 24.
    Copyright @ 2020JFrog - All rights reserved. 24 Build Integration ● More than another client! ● Use Build Integration to see: ○ Builds ○ Published modules within builds ○ Published artifacts within modules ○ Dependencies used for build ○ Build environment ○ Unused artifacts ○ Build scope saved searches ○ Bidirectional links between Artifactory and build server ●
  • 25.
    Copyright @ 2020JFrog - All rights reserved. 25 Build Promotion ● Promotion: Tagging by properties OR Moving between repositories
  • 26.
    Copyright @ 2019JFrog - All rights reserved. 26 DEMO TIME - CI INTEGRATION
  • 27.
    Copyright @ 2020JFrog - All rights reserved. SECURITY & PERMISSIONS 27
  • 28.
    Copyright @ 2020JFrog - All rights reserved. 28 PERMISSIONS MODEL ● Users ● User groups ● Resources ● Permission levels ● Permission Targets Permission Target Resources Groups Users Repositories Builds Read | Annotate | Deploy/Cache | Delete/Overwrite | Manage | Manage Xray Metadata | Distribute | Trigger Release bundles Destinations Pipelines source
  • 29.
    Copyright @ 2020JFrog - All rights reserved. 29 OTHER SECURITY FEATURES ● LDAP integration ● Multiple SSO implementations ● Access tokens ● API keys ● Password encryption ● Additional security options in the admin menu
  • 30.
    Copyright @ 2019JFrog - All rights reserved. 30 DEMO TIME - SECURITY & PERMISSIONS
  • 31.
    Copyright @ 2020JFrog - All rights reserved. 31 OTHER SECURITY FEATURES ● LDAP integration ● Multiple SSO implementations ● Access tokens ● API keys ● Password encryption ● Additional security options in the admin menu
  • 32.
    Copyright @ 2020JFrog - All rights reserved. THE JFROG PLATFORM 32 32 BUILD TEST RELEASE DEPLOY Continuously integrate automate & deploy Scan for security & compliance issues Distribute to production sites Control and monitor the setup On Premises & Multi Cloud Store and manage all types of packages JFrog EDGE Code Repo JFrog EDGE JFrog EDGE SaaS & Self Managed
  • 33.
    Copyright @ 2020JFrog - All rights reserved. Topics Covered ▪ Binary/Repo Management ▪ Ci/Build Integration ▪ Metadata & Automation tools ▪ Security & Permissions ▪ JFrog Platform ▪ Recap and summary
  • 34.
    Copyright @ 2020JFrog - All rights reserved. THANK YOU! 34