web-dev-qa-db-fra.com

Version du package d'incrémentation automatique VSTS/Azure Devops

Exécution de la tâche .Net Core to Pack. Comment puis-je obtenir la version du paquet de nuget sortie à Auto Increment elle-même, au format de say:

1.0.0

Alors la prochaine fois que j'emballe/Push, j'aimerais voir la 1.0.1

J'utilise des variables de construction d'environnement avec Build.BuildNumber et j'obtiens des sorties au moment de:

20180913-.2.0 etc. Souhaitez vous adapter à un système de gestion de versions plus traditionnel

Je vous remercie.

3
The_Chud

Peut-être que je l'ai compris.

Si vous vous arrachez les cheveux, essayez ceci:

Pack tâche:

Versionnage automatique des packages: utiliser une variable d'environnement

Variable d'environnement: Build.BuildNumber

Ensuite, dans le menu supérieur, dans lequel vous avez Tâches/Variables/Déclencheurs/Options, cliquez sur Options.

Format du numéro de build: 1.0 $ (Rev: .r)

Sauvegardez et faites la queue. (produira 1.0.1)

Prendre plaisir!

Corrigez-moi si je me trompe, ou si cela ne fonctionne pas à long terme.

8
The_Chud

Dans docs , la variable Rev:.r est le nombre de révisions de construction daily. La "solution" acceptée conduirait à finir un jour par avoir une version de 1.0.12, puis le lendemain, ce sera 1.0.1.

Si vous voulez un simple/incrémental et unique semver, utilisez 1.0.$(BuildID).

$(BuildID) est un compteur interne immuable pour vos constructions, et jusqu’à présent plus propre que $(BuildNumber).

Mettre à jour

BuildID sera toujours incrémenté - pas de réinitialisation ..__ Ainsi, après une bosse mineure, vous auriez fini par dire 1.2.123 devenant 1.3.124.

Si vous souhaitez effectuer cette tâche correctement, vous pouvez utiliser version npm ou similaire, tel que pubspec_version pour les versions Dart ou Flutter.

- script: npm version $RELEASE_TYPE

$RELEASE_TYPE est une variable que vous pouvez définir en fonction de la construction (par exemple: CI, PR, etc.) et dont la valeur est major, minor, patch, prerelease, etc.

- script: npm version $RELEASE_TYPE
  condition: startsWith(variables['build.sourceBranch'], 'refs/head/release/')
  env:  
    releaseType: minor
1
greg.arnott