VoIP Service and Marketing using Odoo and Asterisk PBX
Artifactory Essentials Workshop on August 27, 2020 by JFrog
1. Copyright @ 2020 JFrog - All rights reserved.
Tal Yitzhak, Solution Engineer @ JFrog
ARTIFACTORY ESSENTIALS WORKSHOP
2. 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
5. Copyright @ 2020 JFrog - All rights reserved.
Binary/Repostory MANAGEMENT
5
6. Copyright @ 2020 JFrog - All rights reserved.
FROM CODE TO RELEASE
Source Code
Dependencies
Build, test, scan
Artifact or
Package
Distribute &
Deploy
7. 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
8. 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)
9. 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
10. Copyright @ 2019 JFrog - All rights reserved.
10
DEMO TIME - Artifactory Overview
11. Copyright @ 2020 JFrog - All rights reserved.
ARTIFACTORY METADATA
And
Automation Tools
11
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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
19. Copyright @ 2019 JFrog - All rights reserved.
19
DEMO TIME - METADATA/Automtion tools
20. Copyright @ 2020 JFrog - All rights reserved.
BUILD/CI INTEGRATION
20
21. Copyright @ 2020 JFrog - All rights reserved.
21
SUPPORTED BUILD TOOLS
22. Copyright @ 2020 JFrog - All rights reserved.
22
SUPPORTED CI SERVERS
JFROG
PIPELINES
23. 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
24. 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
●
25. Copyright @ 2020 JFrog - All rights reserved.
25
Build Promotion
● Promotion: Tagging by properties OR Moving between repositories
26. Copyright @ 2019 JFrog - All rights reserved.
26
DEMO TIME - CI INTEGRATION
27. Copyright @ 2020 JFrog - All rights reserved.
SECURITY & PERMISSIONS
27
28. 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
29. 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
30. Copyright @ 2019 JFrog - All rights reserved.
30
DEMO TIME - SECURITY & PERMISSIONS
31. 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
32. 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