.drone.version.sh 685 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env bash
  2. # .drone.version.sh
  3. VERSION_FILE="version.txt"
  4. # 若文件不存在则初始化
  5. if [[ ! -f "$VERSION_FILE" ]]; then
  6. echo "0.0.1" > "$VERSION_FILE"
  7. echo "Initialized version: 0.0.1"
  8. exit 0
  9. fi
  10. # 读取当前版本并拆分为数组
  11. IFS='.' read -r -a parts < "$VERSION_FILE"
  12. major=${parts[0]}
  13. minor=${parts[1]}
  14. patch=${parts[2]}
  15. # 递增 patch,处理进位 (100进位)
  16. patch=$((patch + 1))
  17. if [[ $patch -ge 100 ]]; then
  18. patch=0
  19. minor=$((minor + 1))
  20. fi
  21. if [[ $minor -ge 100 ]]; then
  22. minor=0
  23. major=$((major + 1))
  24. fi
  25. new_version="${major}.${minor}.${patch}"
  26. echo "$new_version" > "$VERSION_FILE"
  27. echo "Updated version: $new_version"