90.release-build.sh 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. set -e
  2. #---------------------------------------------------------------------
  3. #(x.1)参数
  4. args_="
  5. export codePath=/root/temp/svn/dotnet
  6. export version=`grep '<Version>' ${codePath} -r --include *.csproj | grep -oP '>(.*)<' | tr -d '<>'`
  7. export export GIT_SSH_SECRET=xxxxxx
  8. export name=Sers
  9. # "
  10. #----------------------------------------------
  11. echo "(x.2.1)发布文件-创建文件夹及内容"
  12. mkdir -p $codePath/Doc/Publish/release/${name}-${version}
  13. echo 1.创建 nuget
  14. \cp -rf $codePath/Doc/Publish/nuget/. $codePath/Doc/Publish/release/${name}-${version}/nuget
  15. echo 2.创建 SersPublish
  16. \cp -rf $codePath/Doc/Publish/SersPublish/. $codePath/Doc/Publish/release/${name}-${version}/SersPublish
  17. echo 3.创建 CL压测
  18. \cp -rf $codePath/Doc/Publish/CL压测/. $codePath/Doc/Publish/release/${name}-${version}/CL压测
  19. echo 4.创建 Sers压测
  20. \cp -rf $codePath/Doc/Publish/Sers压测/. $codePath/Doc/Publish/release/${name}-${version}/Sers压测
  21. echo 5.创建 docker制作镜像Sers
  22. \cp -rf $codePath/Doc/Publish/SersDocker/docker制作镜像Sers/. $codePath/Doc/Publish/release/${name}-${version}/docker制作镜像Sers
  23. echo 6.创建 docker部署Sers
  24. \cp -rf $codePath/Doc/Publish/SersDocker/docker部署Sers/. $codePath/Doc/Publish/release/${name}-${version}/docker部署Sers
  25. echo "(x.2.3)发布文件-压缩"
  26. docker run --rm -i \
  27. -v $codePath:/root/file \
  28. serset/filezip dotnet FileZip.dll zip -p -i /root/file/Doc/Publish/release/${name}-${version} -o /root/file/Doc/Publish/release/${name}-${version}.zip
  29. #----------------------------------------------
  30. echo "(x.3)github-提交release文件到release仓库"
  31. # releaseFile=$codePath/Doc/Publish/release/${name}-${version}.zip
  32. #复制ssh key
  33. echo "${GIT_SSH_SECRET}" > $codePath/Doc/Publish/release/serset
  34. chmod 600 $codePath/Doc/Publish/release/serset
  35. #推送到github
  36. docker run -i --rm \
  37. -v $codePath/Doc/Publish/release/serset:/root/serset \
  38. -v $codePath/Doc/Publish/release/${name}-${version}.zip:/root/${name}-${version}.zip \
  39. serset/git-client bash -c "
  40. set -e
  41. ssh-agent bash -c \"
  42. ssh-add /root/serset
  43. ssh -T git@github.com -o StrictHostKeyChecking=no
  44. git config --global user.email 'serset@yeah.com'
  45. git config --global user.name 'lith'
  46. mkdir -p /root/code
  47. cd /root/code
  48. git clone git@github.com:serset/release.git /root/code
  49. mkdir -p /root/code/file/${name}
  50. cp /root/${name}-${version}.zip /root/code/file/${name}
  51. git add file/${name}/${name}-${version}.zip
  52. git commit -m 'auto commit ${version}'
  53. git push -u origin master \" "