Gestión de perfiles, alias y entornos
Los proyectos reales necesitan ajustes distintos para desarrollo, pruebas y producción. En esta lección aprenderá a gestionar la configuración y las compilaciones específicas de cada entorno mediante perfiles de Leiningen y alias de deps.edn.
Gestión de perfiles, alias y entornos es una lección gratuita de Clojure Functional Programming & JVM Backend Development en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Clojure Functional Programming & JVM Backend Development, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Clojure Functional Programming & JVM Backend Development incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Why Profiles and Aliases
You should not ship dev tooling to production. Profiles (Leiningen) and aliases (deps.edn) let one project produce different configurations on demand.
Leiningen Profiles
A profile in project.clj overlays extra config, such as dev-only dependencies, that merge into the base.
{:profiles
{:dev {:dependencies [[midje "1.10.9"]]}
:uberjar {:aot :all}}}Activating a Profile
Use the with-profile task to run a command under a chosen profile.
lein with-profile +uberjar uberjarDefault Profiles
The :dev profile activates automatically for local commands like lein repl, so test tooling is available without extra flags.
deps.edn Aliases
In tools.deps, an alias adds dependencies or options under a keyword you activate with the -M or -X flags.
{:aliases
{:test {:extra-paths ["test"]
:extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}}}}}Running an Alias
Invoke an alias from the CLI; multiple aliases combine.
clojure -M:test:dev -m kaocha.runnerEnvironment Variables
Read configuration from the environment so the same artifact behaves differently per deployment without recompiling.
(def db-url (System/getenv "DATABASE_URL"))
(println db-url)Config Files Per Environment
Keep an config.edn read at startup. Choose the file via an env var so prod and dev load different settings.
(require '[clojure.edn :as edn])
(def config
(edn/read-string (slurp (or (System/getenv "CONFIG") "dev.edn"))))Keep Secrets Out of Source
Never commit credentials. Inject them through environment variables or a secrets manager, and reference them from profiles or aliases only by name.
Composition Over Duplication
Both profiles and aliases compose. Layer a base plus environment overlays rather than maintaining several near-identical full configs.
Reproducible Builds
Pin versions and avoid implicit defaults so a build on CI matches a build on a laptop. Profiles and aliases make these differences explicit and intentional.
Quick Check
Test your profiles and aliases knowledge.
Recap
You learned Leiningen profiles, deps.edn aliases, activating them from the CLI, reading environment variables and per-environment config files, keeping secrets out of source, and composing layers for reproducible builds.
Preguntas frecuentes
¿La lección «Gestión de perfiles, alias y entornos» es gratis?
Sí — el texto completo de «Gestión de perfiles, alias y entornos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Clojure Functional Programming & JVM Backend Development, actualiza a CoddyKit PRO. El curso de Clojure Functional Programming & JVM Backend Development incluye 4 lecciones en total.
¿Qué aprenderé en «Gestión de perfiles, alias y entornos»?
Los proyectos reales necesitan ajustes distintos para desarrollo, pruebas y producción. En esta lección aprenderá a gestionar la configuración y las compilaciones específicas de cada entorno mediante… Practicas Clojure Functional Programming & JVM Backend Development con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Clojure Functional Programming & JVM Backend Development?
No se requiere experiencia previa. Clojure Functional Programming & JVM Backend Development en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Gestión de perfiles, alias y entornos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Clojure Functional Programming & JVM Backend Development?
Sí. Cada lección de Clojure Functional Programming & JVM Backend Development incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de Leiningen y Deps.edn
- Gestión de dependencias y plugins
- Compilación, pruebas y despliegue
- Gestión de perfiles, alias y entornos