-
CommandBox logo

CommandBox

Herramienta independiente y nativa para Windows, Mac y Linux que te ofrece una interfaz de línea de comandos (CLI) para aumentar la productividad del desarrollador

¿Qué es CommandBox? (Proyecto Gideon)

CommandBox es una herramienta independiente y nativa para Windows, Mac y Linux que te proporciona una interfaz de línea de comandos (CLI) para aumentar la productividad del desarrollador, interactuar con herramientas, gestionar paquetes, servidor CFML embebido, scaffolding de aplicaciones y un poco de genial arte ASCII. Se integra perfectamente con todos nuestros productos *Box, pero también es abierto a extensiones para cualquier proyecto ColdFusion (CFML), ya que está escrito en ColdFusion (CFML) usando nuestro concepto de Comandos CommandBox. Está totalmente integrado con nuestra comunidad de contribuciones: ForgeBox, para que los desarrolladores puedan compartir módulos a nivel mundial.

La ayuda integrada está completamente disponible para cada comando, por lo que siempre sabrás cómo trabajar con CommandBox. Puedes abrir un shell de CommandBox en tu terminal y escribir comandos manualmente, o incluso automatizar procesos externamente mediante el binario de CommandBox junto con el shell nativo de tu sistema operativo, creando recetas increíbles para automatización, compilación, despliegue ¡y lo que quieras!

Gestión de Paquetes

CommandBox también funciona como una herramienta de gestión de paquetes que se integra perfectamente con ForgeBox, nuestra comunidad de proyectos ColdFusion (CFML), pero también puede integrarse con git, svn, http, ftp y muchos otros endpoints de código. Hemos creado un descriptor de paquetes al que cariñosamente llamamos box.json que describe tu paquete, dependencias, dependencias de desarrollo, datos de ForgeBox y también puede usarse como descriptor de configuración para comandos de CommandBox. Cualquier proyecto que contenga un box.json en su raíz puede instalarse con un simple comando: box install {paquete}. CommandBox será lo suficientemente inteligente como para resolver dependencias, seguimiento local de artefactos y mucho más. Incluso puedes inicializar un paquete con box init.

Ejemplo de box.json

                        {
                            "name" : "TestBox",
                            "version" : "2.0.0",
                            "author" : "Ortus Solutions <info@ortussolutions.com>",
                            "slug" : "testbox",
                            "type" : "testing",
                            "keywords" : "testing,xunit,bdd,testbox,mxunit,tdd",
                            "directory" : "/",
                            "homepage" : "http://www.coldbox.org",
                            "documentation" : "http://wiki.coldbox.org/wiki/TestBox.cfm",
                            "repository" : { "type" : "git", "url" : "https://github.com/Ortus-Solutions/TestBox" },
                            "bugs" : "https://ortussolutions.atlassian.net/browse/TESTBOX",
                            "shortDescription" : "A BDD and xUnit testing framework",
                            "engines" : [
                                { "type" : "Lucee", "version" : ">4.5" },
                                { "type" : "adobe", "version" : ">9" }
                            ],
                            "license" : [
                                { "type" : "Apache2", "url" : "http://www.apache.org/licenses/LICENSE-2.0.html" }
                            ],
                            "contributors" : [
                                "Brad Wood <bdw429s@gmail.com>", "Curt Gratz <gratz@compknowhow.com>"
                            ],
                            "ignore" : [],
                            "testbox" : {
                                "runner" : [
                                    { "cf10" : "http://cf10cboxdev.jfetmac/testbox/tests/runner.cfm" },
                                    { "cf11" : "http://cf11cboxdev.jfetmac/testbox/tests/runner.cfm" },
                                    { "lucee" : "http://luceecboxdev.jfetmac/testbox/tests/runner.cfm" }
                                ]
                            }
                        }
                    

Generación automática de aplicaciones (Scaffolding)

CommandBox tiene una gran cantidad de comandos para crear rápidamente aplicaciones ColdBox, CommandBox y TestBox. Crea una nueva aplicación ColdBox con un simple comando: coldbox create app, añade un handler con coldbox create handler MiHandler. Incluso puedes generar acciones, vistas y pruebas de integración BDD al mismo tiempo. Esto aporta una nueva productividad a quienes prefieren vivir en la línea de comandos y especialmente a quienes desean automatizar flujos de trabajo. Pruébalo tú mismo: escribe coldbox create help y verás todos los ayudantes de creación disponibles.

Servidor embebido

Una de las cosas más interesantes de CommandBox es la capacidad de levantar un servidor ColdFusion (CFML) ligero y ad-hoc (Lucee o Adobe ColdFusion) en cualquier directorio desde la línea de comandos. Solo cambia al directorio raíz de tu aplicación, escribe server start y se inicia un servidor ultrarrápido en un puerto nuevo ejecutando tu código. Cuando termines, escribe server stop o usa el icono que aparece en la barra del sistema. También puedes ver logs, estado del servidor y mucho más.

Extensible mediante ColdFusion (CFML)

Una de las características más interesantes de CommandBox es que ¡los propios comandos están escritos en ColdFusion (CFML)! CommandBox es pequeño, ligero e integrado a nivel del sistema operativo, pero en realidad corre sobre CFML impulsado por WireBox. Esto significa que puedes extenderlo con tus propios comandos para cualquier framework o para automatizar tareas repetitivas que estás cansado de hacer manualmente.

Ejemplo de comando CommandBox:

                        /**
                         * Muestra el texto que introduzcas
                         *
                         * echo "¡Hola Mundo!"
                         *
                         **/
                        component extends="commandbox.system.BaseCommand" aliases="" excludeFromHelp=false {
                       
                            /**
                             * @text.hint El texto a mostrar
                             **/
                            function run( String text="" ) {
                                return arguments.text;
                            }
                       
                        }
                    

Descargar CommandBox v6.2.1

Puedes descargar CommandBox para cualquier sistema operativo de los que aparecen a continuación:

Sin JRE incluido

Las siguientes descargas no incluyen un entorno de ejecución Java.

Binario Windows

Binario Mac-Linux

RPM

Paquete Debian

Con JRE incluido

Las siguientes descargas sí incluyen un entorno de ejecución Java.

Windows JRE-32

Windows JRE-64

Mac 64-bit JRE

Linux 64-Bit JRE

Instalador Windows

Este instalador te permite instalar opcionalmente un entorno Java.

Instalador Windows

Instalación

Se admiten las siguientes instalaciones :

  • Windows exe
  • Binario ejecutable Mac/Linux
  • Instalación manual
  • Homebrew (para Mac)
  • Linux (Redhat)
  • Linux (Debian)
  • Linux Yum
  • Linux APT

Lee más sobre cada método en nuestra documentación de instalación .

Libros de CommandBox

A continuación encontrarás todos los libros impresos disponibles sobre CommandBox. También están disponibles en formato impreso y Kindle en Amazon y en la Tienda Kindle de Amazon de tu región.

Capacidades

  • Línea de comandos para ColdFusion (CFML)
  • Integración con el sistema operativo para ejecutar comandos
  • Capacidad de crear y ejecutar comandos escritos en ColdFusion (CFML)
  • Integración con ForgeBox para gestión e instalación de paquetes en la nube
  • Integraciones con ColdBox Platform, TestBox y CommandBox CMS
  • Servidor servlet integrado con capacidad de rewrite
  • Creación y ejecución de recetas de comandos
  • Consola REPL (Read-Evaluate-Print-Loop) para interacción inmediata con CFML
  • Interacción con el usuario vía CLI y creación de flujos e instaladores
  • Ejecución de tareas y workflows
  • Sistema de ayuda integrado

Capacidades

CommandBox también ofrece una imagen oficial de Docker, que te permite aprovechar su capacidad para orquestar servidores en despliegues multinivel. Como CommandBox permite configurar todo el entorno del motor CFML desde un único archivo en la raíz de tu proyecto, empaquetar o montar tu aplicación CFML en un contenedor CommandBox te permite levantar tu aplicación en contenedores Docker en cuestión de segundos.

Para probar una imagen rápidamente, solo ejecuta:

                        docker pull ortussolutions/commandbox &&
                        docker run -p 8080:8080 \
                        ortussolutions/commandbox
                    

Esto iniciará una instancia de prueba que mostrará la página “¡CommandBox está funcionando en Docker!” al acceder a la URL del contenedor.

waveup-lightBlue
waveup-lightBlue
Got Questions?

Got Questions?

Please contact us at consulting@ortussolutions.com for further information or click the button below and send us a quick message.

CONTACT US