SlideShare a Scribd company logo
1 of 44
Package Manager, Automation, REPL, … 
Go Commando!
Who am I? 
• ColdFusion Architect (12 years) 
• Geek 
• Android Lover 
• Blogger (codersrevolution.com) 
• ColdBox Platform Evangelist 
• Musician 
• Shade-Tree Mechanic 
• Husband (11 years) 
• Dad (3 beautiful girls)
Agenda 
• How do we work in CF 
• How we SHOULD work 
• What is CommandBox 
• Features 
• Usage 
• Roadmap
How do we work in CF?
IT'S ALIVE!
Cool Kids
How we should work!
Introducing…
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Who is this for? 
• For any ColdFusion (CFML) Developer 
• Commands For: 
• Operating System Integration 
• Executing CFML Code 
• ColdBox Developers 
• TestBox BDD/TDD 
• ContentBox Developers 
• Custom
Installation 
Java 1.7+ 
33mb 
Installs to: 
User/.CommandBox
It is POSS 
• GitHub 
• https://github.com/Ortus-Solutions/commandbox 
• Professional Support 
• Training 
• Mentoring 
• Custom Commands 
• Support
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Usage - CLI vs Shell 
Commands Shell
Usage - Commands 
• How you get things done! 
• Built-in Help 
• API Docs 
• Command Namespaces 
• Commands 
• Aliases 
• Parameters/Arguments 
• Tab-Completion 
• Commands, Parameters, Paths, Custom
Usage - Parameters 
• Named 
• Positional 
• Boolean Flags 
• Escaped Input 
• Required Values 
• Completion
Usage - History 
• Command History 
• REPL History 
• Clear History
Usage - OS Integration 
• OS Integration Commands 
• Output Piping 
• | 
• File Redirection 
• > Create 
• >> Append 
• Open 
• Files/Directories 
• Browser 
• Run OS Binaries
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
What’s a package? 
• A folder 
• Some code 
• A box.json
What’s a module? 
A “smart” package 
Has a ModuleConfig.cfc 
Has optional conventions 
Auto-registers itself with ColdBox
box.json 
• Package Descriptor 
• Declares package metadata 
• Name 
• Slug 
• Version 
• Author 
• Dependencies 
• DevDependencies 
• Installation Details 
• Custom Metadata
box.json 
{ 
"name" : "Weather By IP", 
"author" : "Brad Wood <brad@bradwood.com>", 
"version" : "1.0.0", 
"slug" : "weather-lookup-by-ip", 
"shortDescription" : "Look up local weather.", 
"type" : "modules", 
"dependencies" : { 
"geolocation-lookup-by-ip" : "2.0.0" 
} 
}
Where do they come from? 
• ForgeBox 
• File zip/tar 
• Directory 
• Git 
• SVN 
• Github 
• Bitbucket 
• Custom
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
ForgeBox 
• Cloud package repository 
• Web GUI 
• Community driven 
• ForgeBox Commands 
• 150+ packages 
• Help us out! 
• www.forgebox.org coming soon!
Package Commands 
• forgebox 
• install 
• uninstall 
• search 
• show 
• artifacts 
• remove, list, clean 
• package 
• show, init, clear, set
Packaging Features 
• Choose version to install 
• Automatically installs dependencies 
• Development/Production dependencies 
• Distribute without dependencies 
• “install” initializes a project 
• Dependency Inception
Packaging Features
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Read - Eval - Pr int - Loop 
REPL 
• Executes code 
• Support CFML or CFScript 
• History 
• Multi-line Statements 
• Declare closures, functions, etc 
• Keeps state
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Integrated Server 
• Lightweight servlet container: undertow 
• Startup ad-hoc servers in any folder 
• Keeps track of servers, no WEB-INF needed 
• Server 
• start 
• stop 
• status 
• log 
• open 
• forget
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Scaffolding 
• ColdBox Applications 
• ContentBox Applications 
• TestBox Integration 
• Custom For Any Framework or Flow
Scaffolding 
init 
coldbox create app “MyApp” —installColdBoxBE 
coldbox create handler contacts index,save,delete 
coldbox create module MyModule 
install testbox-be 
package set defaultPort=“90001” 
package set testbox.runner=“localhost:90001/tests/runner” 
start 
testbox run
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
Automation 
• run 
• Any OS binary 
• Link to grunt/gulp/ant 
• execute 
• Execute any CFML template 
• recipe 
• Like a “Batch” file 
• Runs multiple commands 
• Can accept parameters 
• my-recipe.boxr
my-recipe.boxr 
# Init a repository 
mkdir $name 
init $name 
run git init 
# Create ColdBox App 
coldbox create app $1 —installColdBoxBE 
coldbox create handler $2 index,save,delete 
coldbox create module $3 
# Prepare for Testing 
install testbox-be 
package set defaultPort=“$4” 
package set testbox.runner=“localhost:$4/tests/runner” 
$> recipe my-recipe.boxr myApp myHandler myModule 8081
What is CommandBox? 
CLI Package 
Manager 
REPL 
Read-Eval 
Print-Loop 
Integrated 
Server 
CFML 
ForgeBox Scaffolding 
ColdFusion Automation
ColdFusion Extensibility 
CFML 
• Commands are CFML 
• Create custom commands 
• Register in ForgeBox 
• DI/AOP Capabilities 
• Favorite Command 
• CommandBox-Chuck-Norris
Roadmap 
Automation/Async 
More Generators 
ForgeBox Enterprise 
ForgeBox 2.0 
Adobe CF Engine 
Task Runners
Resources 
• Official Site 
• http://ortussolutions.com/products/commandbox 
• Documentation 
• http://apidocs.ortussolutions.com/commandbox/1.0.0/ 
• https://ortussolutions.com/products/commandbox/docs/current 
• Google Group 
• https://groups.google.com/a/ortussolutions.com/forum/#!forum/commandbox 
• Training 
• http://ortussolutions.com/services/training 
• Professional Support 
• http://ortussolutions.com/services/support
Q & A 
Thanks!

More Related Content

What's hot

Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Griddimakovalenko
 
Infrastructure modeling with chef
Infrastructure modeling with chefInfrastructure modeling with chef
Infrastructure modeling with chefCharles Johnson
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9JBUG London
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Alan Lok
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Gridnirvdrum
 
Ansible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL MeetupAnsible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL MeetupJeff Geerling
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation EasyPeter Sankauskas
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefMichael Lihs
 
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016Marcus Merrell
 
Ansible Best Practices - July 30
Ansible Best Practices - July 30Ansible Best Practices - July 30
Ansible Best Practices - July 30tylerturk
 
Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Michael Lihs
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef
 
Introduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUpIntroduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUptylerturk
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance DrupalJeff Geerling
 
Monitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleMonitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleItamar Hassin
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction Robert Reiz
 

What's hot (20)

Scaling and Managing Selenium Grid
Scaling and Managing Selenium GridScaling and Managing Selenium Grid
Scaling and Managing Selenium Grid
 
Docker
DockerDocker
Docker
 
Infrastructure modeling with chef
Infrastructure modeling with chefInfrastructure modeling with chef
Infrastructure modeling with chef
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016Ansible + WordPress - WordCamp Toronto 2016
Ansible + WordPress - WordCamp Toronto 2016
 
Selenium Grid
Selenium GridSelenium Grid
Selenium Grid
 
Ansible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL MeetupAnsible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL Meetup
 
How Ansible Makes Automation Easy
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation Easy
 
No Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with AnsibleNo Docker? No Problem: Automating installation and config with Ansible
No Docker? No Problem: Automating installation and config with Ansible
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
 
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016
 
Ansible Best Practices - July 30
Ansible Best Practices - July 30Ansible Best Practices - July 30
Ansible Best Practices - July 30
 
Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014Vagrant and Chef on FOSSASIA 2014
Vagrant and Chef on FOSSASIA 2014
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015
 
Network automation (NetDevOps) with Ansible
Network automation (NetDevOps) with AnsibleNetwork automation (NetDevOps) with Ansible
Network automation (NetDevOps) with Ansible
 
Introduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUpIntroduction to Ansible - Jan 28 - Austin MeetUp
Introduction to Ansible - Jan 28 - Austin MeetUp
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
Monitor-Driven Development Using Ansible
Monitor-Driven Development Using AnsibleMonitor-Driven Development Using Ansible
Monitor-Driven Development Using Ansible
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
 

Viewers also liked

Linux
LinuxLinux
Linuxlhcnn
 
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entrepriseCocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entrepriseCocoaHeads France
 
Diagnostic Flash IE REUNIVEILLE - QUALITROPIC
Diagnostic Flash IE REUNIVEILLE - QUALITROPICDiagnostic Flash IE REUNIVEILLE - QUALITROPIC
Diagnostic Flash IE REUNIVEILLE - QUALITROPICFranck Dasilva
 
Pl news letter_novembre2012
Pl news letter_novembre2012Pl news letter_novembre2012
Pl news letter_novembre2012robertpluss
 
Ciclo rb fev_11_ferramentas bi totvs
Ciclo rb fev_11_ferramentas bi totvsCiclo rb fev_11_ferramentas bi totvs
Ciclo rb fev_11_ferramentas bi totvsRafael Marega
 
Gestion de proyectos sesion 3
Gestion de proyectos sesion 3Gestion de proyectos sesion 3
Gestion de proyectos sesion 3Arquitecto bogota
 
Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)
Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)
Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)denguert
 
Gestion de proyectos sesion 2
Gestion de proyectos sesion  2Gestion de proyectos sesion  2
Gestion de proyectos sesion 2Arquitecto bogota
 
Diag IE REUNIVEILLE - QUALITROPIC
Diag IE REUNIVEILLE - QUALITROPICDiag IE REUNIVEILLE - QUALITROPIC
Diag IE REUNIVEILLE - QUALITROPICFranck Dasilva
 
PLM Open Hours - Projektfortschrittsübersicht anhand der Dokumentation
PLM Open Hours - Projektfortschrittsübersicht anhand der DokumentationPLM Open Hours - Projektfortschrittsübersicht anhand der Dokumentation
PLM Open Hours - Projektfortschrittsübersicht anhand der DokumentationIntelliact AG
 
Web 1.0, 2.0, 3.0 y sus características.
Web 1.0, 2.0, 3.0 y sus características.Web 1.0, 2.0, 3.0 y sus características.
Web 1.0, 2.0, 3.0 y sus características.VDanielrs
 
Wie der Hammer fällt - Mobile Web Performance aus Nutzersicht
Wie der Hammer fällt - Mobile Web Performance aus NutzersichtWie der Hammer fällt - Mobile Web Performance aus Nutzersicht
Wie der Hammer fällt - Mobile Web Performance aus NutzersichtHans-Joachim Belz
 
Plan strategique de développement d'Haiti
Plan strategique de développement d'HaitiPlan strategique de développement d'Haiti
Plan strategique de développement d'Haitilaurentlamothe
 

Viewers also liked (20)

gui history
gui historygui history
gui history
 
Suface comp ppt
Suface comp pptSuface comp ppt
Suface comp ppt
 
Linux
LinuxLinux
Linux
 
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entrepriseCocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
 
Diagnostic Flash IE REUNIVEILLE - QUALITROPIC
Diagnostic Flash IE REUNIVEILLE - QUALITROPICDiagnostic Flash IE REUNIVEILLE - QUALITROPIC
Diagnostic Flash IE REUNIVEILLE - QUALITROPIC
 
Pl news letter_novembre2012
Pl news letter_novembre2012Pl news letter_novembre2012
Pl news letter_novembre2012
 
Ciclo rb fev_11_ferramentas bi totvs
Ciclo rb fev_11_ferramentas bi totvsCiclo rb fev_11_ferramentas bi totvs
Ciclo rb fev_11_ferramentas bi totvs
 
Gestion de proyectos sesion 3
Gestion de proyectos sesion 3Gestion de proyectos sesion 3
Gestion de proyectos sesion 3
 
Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)
Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)
Intermarket-Analyse (Seminarwochenende - Amsterdam 28-30.09.2012)
 
Gestion de proyectos sesion 2
Gestion de proyectos sesion  2Gestion de proyectos sesion  2
Gestion de proyectos sesion 2
 
Diag IE REUNIVEILLE - QUALITROPIC
Diag IE REUNIVEILLE - QUALITROPICDiag IE REUNIVEILLE - QUALITROPIC
Diag IE REUNIVEILLE - QUALITROPIC
 
Webinar nfc e
Webinar nfc eWebinar nfc e
Webinar nfc e
 
Analgésie
AnalgésieAnalgésie
Analgésie
 
PLM Open Hours - Projektfortschrittsübersicht anhand der Dokumentation
PLM Open Hours - Projektfortschrittsübersicht anhand der DokumentationPLM Open Hours - Projektfortschrittsübersicht anhand der Dokumentation
PLM Open Hours - Projektfortschrittsübersicht anhand der Dokumentation
 
Web 1.0, 2.0, 3.0 y sus características.
Web 1.0, 2.0, 3.0 y sus características.Web 1.0, 2.0, 3.0 y sus características.
Web 1.0, 2.0, 3.0 y sus características.
 
geo.admin.ch für alle: user stories
geo.admin.ch für alle: user storiesgeo.admin.ch für alle: user stories
geo.admin.ch für alle: user stories
 
Texte expose
Texte exposeTexte expose
Texte expose
 
Telas bi
Telas biTelas bi
Telas bi
 
Wie der Hammer fällt - Mobile Web Performance aus Nutzersicht
Wie der Hammer fällt - Mobile Web Performance aus NutzersichtWie der Hammer fällt - Mobile Web Performance aus Nutzersicht
Wie der Hammer fällt - Mobile Web Performance aus Nutzersicht
 
Plan strategique de développement d'Haiti
Plan strategique de développement d'HaitiPlan strategique de développement d'Haiti
Plan strategique de développement d'Haiti
 

Similar to CommandBox REPL, CLI, and Package Manager

Command box, Package Manager, Automation, REPL
Command box, Package Manager, Automation, REPLCommand box, Package Manager, Automation, REPL
Command box, Package Manager, Automation, REPLColdFusionConference
 
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUGIntro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUGOrtus Solutions, Corp
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...Ortus Solutions, Corp
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationColdFusionConference
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksGoDataDriven
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAlberto Molina Coballes
 
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Miguel Zuniga
 
Building and Releasing a Golang CLI Tool
Building and Releasing a Golang CLI ToolBuilding and Releasing a Golang CLI Tool
Building and Releasing a Golang CLI ToolBradley Cypert
 
CommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package ManagementCommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package ManagementOrtus Solutions, Corp
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO Christian Posta
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Ortus Solutions, Corp
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be usingOrtus Solutions, Corp
 
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with ContainersAmazon Web Services
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chefLeanDog
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014biicode
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
 

Similar to CommandBox REPL, CLI, and Package Manager (20)

Command box, Package Manager, Automation, REPL
Command box, Package Manager, Automation, REPLCommand box, Package Manager, Automation, REPL
Command box, Package Manager, Automation, REPL
 
Command box
Command boxCommand box
Command box
 
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUGIntro To CommandBox CLI,Package Manager, Server at the Japan CFUG
Intro To CommandBox CLI,Package Manager, Server at the Japan CFUG
 
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
CBDW2014- Intro to CommandBox; The ColdFusion CLI, Package Manager, and REPL ...
 
ITB2017 - Keynote
ITB2017 - KeynoteITB2017 - Keynote
ITB2017 - Keynote
 
Command Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, AutomationCommand Box ColdFusion Package Manager, Automation
Command Box ColdFusion Package Manager, Automation
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
 
Building and Releasing a Golang CLI Tool
Building and Releasing a Golang CLI ToolBuilding and Releasing a Golang CLI Tool
Building and Releasing a Golang CLI Tool
 
CommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package ManagementCommandBox & ForgeBox Package Management
CommandBox & ForgeBox Package Management
 
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
DevOps with ActiveMQ, Camel, Fabric8, and HawtIO
 
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
Brad wood - 5 CommandBox Modules You Should Be Using [Into The Box 2020]
 
Brad Wood 5 command box modules you should be using
Brad Wood   5 command box modules you should be usingBrad Wood   5 command box modules you should be using
Brad Wood 5 command box modules you should be using
 
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 
Chef Cookbook Workflow
Chef Cookbook WorkflowChef Cookbook Workflow
Chef Cookbook Workflow
 
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

CommandBox REPL, CLI, and Package Manager

  • 1. Package Manager, Automation, REPL, … Go Commando!
  • 2. Who am I? • ColdFusion Architect (12 years) • Geek • Android Lover • Blogger (codersrevolution.com) • ColdBox Platform Evangelist • Musician • Shade-Tree Mechanic • Husband (11 years) • Dad (3 beautiful girls)
  • 3. Agenda • How do we work in CF • How we SHOULD work • What is CommandBox • Features • Usage • Roadmap
  • 4. How do we work in CF?
  • 9. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 10. Who is this for? • For any ColdFusion (CFML) Developer • Commands For: • Operating System Integration • Executing CFML Code • ColdBox Developers • TestBox BDD/TDD • ContentBox Developers • Custom
  • 11. Installation Java 1.7+ 33mb Installs to: User/.CommandBox
  • 12. It is POSS • GitHub • https://github.com/Ortus-Solutions/commandbox • Professional Support • Training • Mentoring • Custom Commands • Support
  • 13. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 14. Usage - CLI vs Shell Commands Shell
  • 15. Usage - Commands • How you get things done! • Built-in Help • API Docs • Command Namespaces • Commands • Aliases • Parameters/Arguments • Tab-Completion • Commands, Parameters, Paths, Custom
  • 16. Usage - Parameters • Named • Positional • Boolean Flags • Escaped Input • Required Values • Completion
  • 17. Usage - History • Command History • REPL History • Clear History
  • 18. Usage - OS Integration • OS Integration Commands • Output Piping • | • File Redirection • > Create • >> Append • Open • Files/Directories • Browser • Run OS Binaries
  • 19. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 20. What’s a package? • A folder • Some code • A box.json
  • 21. What’s a module? A “smart” package Has a ModuleConfig.cfc Has optional conventions Auto-registers itself with ColdBox
  • 22. box.json • Package Descriptor • Declares package metadata • Name • Slug • Version • Author • Dependencies • DevDependencies • Installation Details • Custom Metadata
  • 23. box.json { "name" : "Weather By IP", "author" : "Brad Wood <brad@bradwood.com>", "version" : "1.0.0", "slug" : "weather-lookup-by-ip", "shortDescription" : "Look up local weather.", "type" : "modules", "dependencies" : { "geolocation-lookup-by-ip" : "2.0.0" } }
  • 24. Where do they come from? • ForgeBox • File zip/tar • Directory • Git • SVN • Github • Bitbucket • Custom
  • 25. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 26. ForgeBox • Cloud package repository • Web GUI • Community driven • ForgeBox Commands • 150+ packages • Help us out! • www.forgebox.org coming soon!
  • 27. Package Commands • forgebox • install • uninstall • search • show • artifacts • remove, list, clean • package • show, init, clear, set
  • 28. Packaging Features • Choose version to install • Automatically installs dependencies • Development/Production dependencies • Distribute without dependencies • “install” initializes a project • Dependency Inception
  • 30. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 31. Read - Eval - Pr int - Loop REPL • Executes code • Support CFML or CFScript • History • Multi-line Statements • Declare closures, functions, etc • Keeps state
  • 32. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 33. Integrated Server • Lightweight servlet container: undertow • Startup ad-hoc servers in any folder • Keeps track of servers, no WEB-INF needed • Server • start • stop • status • log • open • forget
  • 34. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 35. Scaffolding • ColdBox Applications • ContentBox Applications • TestBox Integration • Custom For Any Framework or Flow
  • 36. Scaffolding init coldbox create app “MyApp” —installColdBoxBE coldbox create handler contacts index,save,delete coldbox create module MyModule install testbox-be package set defaultPort=“90001” package set testbox.runner=“localhost:90001/tests/runner” start testbox run
  • 37. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 38. Automation • run • Any OS binary • Link to grunt/gulp/ant • execute • Execute any CFML template • recipe • Like a “Batch” file • Runs multiple commands • Can accept parameters • my-recipe.boxr
  • 39. my-recipe.boxr # Init a repository mkdir $name init $name run git init # Create ColdBox App coldbox create app $1 —installColdBoxBE coldbox create handler $2 index,save,delete coldbox create module $3 # Prepare for Testing install testbox-be package set defaultPort=“$4” package set testbox.runner=“localhost:$4/tests/runner” $> recipe my-recipe.boxr myApp myHandler myModule 8081
  • 40. What is CommandBox? CLI Package Manager REPL Read-Eval Print-Loop Integrated Server CFML ForgeBox Scaffolding ColdFusion Automation
  • 41. ColdFusion Extensibility CFML • Commands are CFML • Create custom commands • Register in ForgeBox • DI/AOP Capabilities • Favorite Command • CommandBox-Chuck-Norris
  • 42. Roadmap Automation/Async More Generators ForgeBox Enterprise ForgeBox 2.0 Adobe CF Engine Task Runners
  • 43. Resources • Official Site • http://ortussolutions.com/products/commandbox • Documentation • http://apidocs.ortussolutions.com/commandbox/1.0.0/ • https://ortussolutions.com/products/commandbox/docs/current • Google Group • https://groups.google.com/a/ortussolutions.com/forum/#!forum/commandbox • Training • http://ortussolutions.com/services/training • Professional Support • http://ortussolutions.com/services/support
  • 44. Q & A Thanks!

Editor's Notes

  1. Luis