J'ai un projet Node dans Azure devops et j'aimerais définir le numéro de build à ce qui se trouve dans le package.json actuel, complété par un numéro. Ainsi, si mon package.json indique que la version est 0.0.1-beta, le numéro de build serait le suivant 0.0.1-beta+20190215.1
.
Il est facile d'obtenir la chaîne de version en utilisant npm : npm view <package-name> version
mais je n'arrive pas à trouver où, dans le pipeline, le stocker et l'injecter pour l'utiliser comme numéro de construction. D'après ce que je sais, le numéro de build ne peut être défini que sous la forme d'une valeur codée en dur ou par l'intermédiaire de variables définies "manuellement", et non de manière dynamique, par exemple en utilisant la sortie d'une commande.
J'ai essayé d'utiliser des variables, d'abord une variable personnalisée qui n'a pas fonctionné. J'ai également trouvé une variable nommée Build.Buildname
mais il semble que l'on ne puisse pas y écrire.
Des idées ?
C'est la section pertinente de mon pipeline de base.yaml que j'expérimente :
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.x'
displayName: 'Install Node.js'
- script: |
npm install
npmVersionString=$(npm view <package-name> version)
echo ##vso[task.setvariable variable=build.buildnumber]$npmVersionString
npm run build
displayName: 'npm install, set buildnumber and build'