2015-10-21 15 views
5

tôi đang sử dụng trong một thời gian dài TeamCity. PatchInfo AssemblyInfo có khả năng vá tất cả các tệp assemblyinfo với số phiên bản được TeamCity tạo và tăng lên. Đây có phải là bằng cách nào đó có thể với Visual Studio Online Build (kịch bản mới, nền tảng chéo)?Visual Studio Online tự động xây dựng số phiên bản tăng và lắp ráp vá

+1

tôi vừa tìm thấy điều này. https://msdn.microsoft.com/Library/vs/alm/Build/scripts/index – Mantzas

Trả lời

0

Bên cạnh việc liên kết ở trên, các bước chi tiết hơn để tùy chỉnh xây dựng số bạn có thể tham khảo: http://blogs.incyclesoftware.com/2015/06/vnext-build-awesomeness-managing-version-numbers/

+0

điều này về cơ bản sử dụng ở trên và làm cho nó dễ tham số hơn! tốt đẹp! – Mantzas

+9

Đây không phải là câu trả lời hay - liên kết tới các blog (ngay cả khi chúng là các blog được viết bởi đồng nghiệp của tôi) có xu hướng chết. Cập nhật câu trả lời của bạn với thông tin liên quan * từ * blog, để câu trả lời hữu ích cho riêng mình, ngay cả khi không có blog hiện có. –

+1

OK, liên kết đã chết. –

5

Tôi đã tạo một Bash Script có thể tự động thay thế các số phiên bản trong các tập tin như AssemblyVersion.cs và có thể được sử dụng trong xây dựng bước, tương tự như Power Shell Script xuất bản bởi Microsoft:

#!/bin/bash 
# Sample call: ./ApplyVersionToAssemblies.sh ../Source/ AssemblyInfo.cs XamarinAndroid_1.0.0.1 

echo "Script to automatically set the version-number in files (e.g. AssemblyInfo.cs)" 

if [ $# -ne 3 ]; then 
    echo "Usage: $0 path_to_search filename build_number" 
    exit 
fi 

# Input is something like XamarinAndroid_1.2.3.4 and we want to extract only the 1.2.3.4 
# See http://stackoverflow.com/a/19482947/448357 for more infos 
VERSION_NUMBER="${3#*_}" 

for file in $(find $1 -name $2); do 
    echo "Replacing Version string in $file with ${VERSION_NUMBER}" 
    sed -i '' -e 's/"[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"/"'${VERSION_NUMBER}'"/' "$file" 
done 

Đầu tiên, tạo biến cho Major và phiên bản nhỏ enter image description here

Thứ hai, thiết lập các định dạng build-số để $(BuildDefinitionName)_$(Major).$(Minor).$(Year:yy)$(DayOfYear).$(Rev:rr) trong tab General của định nghĩa xây dựng của bạn

enter image description here

Và cuối cùng tạo ra một bash-kịch bản hay một bước với các kịch bản từ trên Powershell: enter image description here

Các vấn đề liên quan