Hello team,
Is there any plugin or parameter in Bamboo through which we can do the version increment of the different files like dlls along with the build.
Regards,
Atul
We dug into the issue and found that like the Jenkins, Bamboo doesn't offer any plugin for the version increment for the dll files. Although you can make the script using PowerShell or bash for the version increment. Remember to use proper variables while using Bamboo yaml. We used Bamboo specs for setting up our pipelines.
Here is our script for the reference,
dir -Path $bamboo_build_working_directory -Filter AssemblyInfo.cs -Recurse | %{$_.FullName} >> assemblyfiles.txt
(Get-Content -Path assemblyfiles.txt) -notmatch "ExternalComponents" -notmatch "ThirdPartyLibraries" | Out-File assemblyfiles.txt
$BUILD_NUMBER= "2.1.0.$Env:bamboo_buildNumber"
ForEach ($system in Get-Content "assemblyfiles.txt")
{
## Replace the variables with the verions values
Get-Content -Path $system | Select-String -Pattern 'assembly: AssemblyVersion' -CaseSensitive | Select-String -Pattern '// \[assembly: AssemblyVersion' -CaseSensitive -notmatch > assemblyversion.txt
Get-Content -Path $system | Select-String -Pattern 'assembly: AssemblyFileVersion' -CaseSensitive > assemblyfileversion.txt
$ASEMBLY_VERSION=Get-Content -Path assemblyversion.txt |%{"$($_.Split('"')[01])"} | Foreach-Object { $_ -replace "\s", ""} { $_ -replace "\*","123"} | where-object {$_}
$ASSEMBLY_FILE_VERSION=Get-Content -Path assemblyfileversion.txt |%{"$($_.Split('"')[01])"} | Foreach-Object { $_ -replace "\s", ""} | where-object {$_}
$fileNames = Get-ChildItem $system -Recurse |
select -expand fullname
foreach ($filename in $filenames)
{
( Get-Content $fileName) | Foreach-Object { $_ -replace "$ASEMBLY_VERSION", "$BUILD_NUMBER" } | Set-Content $fileName
( Get-Content $fileName) | Foreach-Object { $_ -replace "$ASSEMBLY_FILE_VERSION", "$BUILD_NUMBER" } | Set-Content $fileName
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.