Tarea Línea de comandos
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015
Use esta tarea para ejecutar un programa desde el símbolo del sistema.
Nota
En Microsoft Team Foundation Server (TFS) 2018 y versiones anteriores, las canalizaciones de compilación y versión se denominan definiciones, las ejecuciones se denominan compilaciones, las conexiones de servicio se denominan puntos de conexión de servicio, las fases se denominan entornos y los trabajos se denominan fases.
Peticiones
Ninguno
Fragmento de código YAML
# Command line
# Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
- task: CmdLine@2
inputs:
script: 'echo Write your commands here.'
#workingDirectory: # Optional
#failOnStderr: false # Optional
La tarea CmdLine también tiene una sintaxis de acceso directo en YAML:
- script: # script path or inline
workingDirectory: #
displayName: #
failOnStderr: #
env: { string: string } # mapping of environment variables to add
Ejecución de batch y . Archivos CMD
Azure Pipelines el contenido del script en línea en un archivo por lotes temporal (.cmd) para ejecutarlo.
Si desea ejecutar un archivo por lotes desde otro archivo por lotes en Windows CMD, debe usar el comando ; de lo contrario, se termina call el primer archivo por lotes.
Esto dará lugar a que Azure Pipelines script previsto hasta el primer archivo por lotes y, a continuación, ejecute el archivo por lotes y, a continuación, termine el paso.
No se ejecutarán líneas adicionales en el primer script.
Siempre debe anteponer antes call de ejecutar un archivo por lotes en un Azure Pipelines de script.
Importante
Es posible que no se dé cuenta de que está ejecutando un archivo por lotes.
Por ejemplo, en Windows, junto con las herramientas que instale npm mediante , son en realidad archivos por npm install -g lotes.
Use siempre call npm <command> para ejecutar comandos NPM en una tarea de línea de comandos en Windows.
Argumentos
| Argumento | Descripción |
|---|---|
scriptScript |
(Obligatorio) Contenido del script que desea ejecutar Valor predeterminado: echo Write your commands here\n\necho Hello world\n" |
workingDirectoryDirectorio de trabajo |
(Opcional) Especifique el directorio de trabajo en el que desea ejecutar el comando. Si lo deja vacío, el directorio de trabajo es $(Build.SourcesDirectory). |
failOnStderrError cuando se produce un error estándar |
Si esto es así, se producirá un error en esta tarea si se escribe algún error en stderr. |
envVariables de entorno |
(Opcional) Lista de elementos adicionales que se asignarán al entorno del proceso. Por ejemplo, las variables secretas no se asignan automáticamente. Si tiene una variable secreta denominada Foo , puede asignarla como se muestra en el ejemplo siguiente. |
- script: echo %MYSECRET%
env:
MySecret: $(Foo)
Ejemplo
steps:
- script: date /t
displayName: Get the date
- script: dir
workingDirectory: $(Agent.BuildDirectory)
displayName: List contents of a folder
- script: |
set MYVAR=foo
set
displayName: Set a variable and then display all
env:
aVarFromYaml: someValue
Código Abierto
Esta tarea es de código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.
Preguntas más frecuentes
¿Dónde puedo aprender Windows comandos?
Índice A-Z de la línea de comandos Windows CMD
¿Necesito un agente?
Necesita al menos un agente para ejecutar la compilación o versión.
Tengo problemas. ¿Cómo puedo solucionarlos?
Vea Solución de problemas de compilación y versión.
No se puede seleccionar un grupo de agentes predeterminado y no se puede poner en cola la compilación o versión. ¿Cómo puedo corregirlo?
Vea Grupos de agentes.
La tarea de envío de cambios de NuGet genera el error siguiente: "Error: no se puede obtener el certificado del emisor local". ¿Cómo lo puedo corregir?
Esto se puede corregir si se añade un certificado raíz de confianza. Puede agregar la variable de entorno NODE_EXTRA_CA_CERTS=file al agente de compilación, o bien la variable de tarea NODE.EXTRA.CA.CERTS=file en la canalización. Vea la documentación de Node.js para obtener más detalles sobre esta variable. Consulte Establecimiento de variables en una canalización para obtener instrucciones sobre cómo establecer una variable en la canalización.
Utilizo TFS en el entorno local y no veo algunas de estas características. ¿Por qué no?
Algunas de estas características solo están disponibles en Azure Pipelines y todavía no lo están en el entorno local. Algunas características están disponibles en el entorno local si ha actualizado a la versión más reciente de TFS.