05.svn-merge.bash 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. set -e
  2. # source 05.svn-merge.bash
  3. #---------------------------------------------------------------------
  4. # (x.1)参数
  5. args_="
  6. export codePath=/root/docker-cache/jenkins/jenkins_home/workspace/Sers/develop/20/code-with-prod-version
  7. export SVN_PATH=svn://svn.ki.lith.cloud/Sers
  8. export SVN_USERNAME=jenkins
  9. export SVN_PASSWORD=**
  10. export versionSuffix=.158
  11. # "
  12. docker run -i --rm -v $codePath:/root/svn \
  13. -e codePath="$codePath" -e SVN_PATH="$SVN_PATH" -e SVN_USERNAME="$SVN_USERNAME" -e SVN_PASSWORD="$SVN_PASSWORD" -e versionSuffix="$versionSuffix" \
  14. docker.lith.cloud:8/dockerhub/serset/svn-client bash -c '
  15. set -e
  16. # (x.2) change version in csproj and commit to develop branch
  17. # (x.x.1) pull code from develop branch
  18. codePath=/root/svn/branch-develop
  19. mkdir -p $codePath;cd $codePath;
  20. svn checkout $SVN_PATH/branches/develop $codePath --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache > /dev/null;
  21. # (x.x.2) change version in csproj
  22. export versionSuffix=$versionSuffix
  23. cd $codePath/Publish/DevOps/build-bash; source 20.change-app-version.bash;
  24. echo "appVersion: $appVersion"
  25. cd $codePath;
  26. # (x.x.3) commit to develop branch
  27. svn commit $codePath -m "[tag] Sers $appVersion" --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache
  28. # (x.3) merge to trunk
  29. # (x.x.1) pull code from trunk branch
  30. codePath=/root/svn/branch-trunk
  31. mkdir -p $codePath;cd $codePath;
  32. svn checkout $SVN_PATH/trunk $codePath --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache > /dev/null;
  33. # (x.x.2) merge to trunk
  34. svn merge $SVN_PATH/branches/develop --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache
  35. # (x.x.3) commit to trunk branch
  36. svn commit $codePath -m "[trunk] merge from develop:$appVersion" --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache
  37. # (x.4) create tags branch from trunk
  38. echo "appVersion: $appVersion"
  39. svn copy $SVN_PATH/trunk $SVN_PATH/tags/2.1/$appVersion -m "[tags] Sers $appVersion" --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache
  40. # (x.5) change to next version in csproj and commit to develop branch
  41. # (x.x.1) pull code from develop branch
  42. codePath=/root/svn/branch-develop-next
  43. mkdir -p $codePath;cd $codePath;
  44. svn checkout $SVN_PATH/branches/develop $codePath --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache
  45. # (x.x.2) change version in csproj
  46. export versionSuffix="-temp"
  47. cd $codePath/Publish/DevOps/build-bash; source 21.change-to-next-version.bash;
  48. echo "appVersion: $appVersion"
  49. cd $codePath;
  50. # (x.x.3) commit to develop branch
  51. svn commit $codePath -m "[develop] $appVersion" --username $SVN_USERNAME --password $SVN_PASSWORD --no-auth-cache
  52. '