package_windows.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ETCD_VERSION=3.5.0
  2. set -xe
  3. date_str="$(date +%Y%m%d)"
  4. short_hash="$(git log -1 --pretty=%h)"
  5. version="${date_str}-${short_hash}"
  6. target_filename="milvus-windows-${version}.zip"
  7. script_dir="$(cd $(dirname $0); pwd)"
  8. repo_dir="$(dirname ${script_dir})"
  9. bin_dir="${repo_dir}/bin"
  10. package_dir="${repo_dir}/windows_package"
  11. # prepare package dir
  12. rm -fr ${package_dir}
  13. mkdir -p ${package_dir}
  14. cp -fr ${repo_dir}/deployments/windows ${package_dir}/milvus
  15. # resolve all dll for milvus.exe
  16. cd ${bin_dir}
  17. cp -fr milvus milvus.exe
  18. find ${repo_dir} -name \*.dll | xargs -I {} cp -frv {} . || :
  19. for x in $(ldd milvus.exe | awk '{print $1}') ; do
  20. if [ -f ${MINGW_PREFIX}/bin/$x ] ; then
  21. cp -frv ${MINGW_PREFIX}/bin/$x .
  22. fi
  23. done
  24. # prepare package
  25. cd ${package_dir}
  26. mkdir -p milvus/{bin,configs,run}
  27. cp -frv ${bin_dir}/*.dll milvus/bin
  28. cp -frv ${bin_dir}/*.exe milvus/bin
  29. # configs
  30. cp -fr ${repo_dir}/configs/* milvus/configs/
  31. # patch config /var -> var
  32. sed s@/var/lib@var/lib@ -i milvus/configs/milvus.yaml
  33. # patch all bat with dos format
  34. find -name \*.bat | xargs -I {} unix2dos {}
  35. # download minio
  36. wget -q -O milvus/bin/minio.exe https://dl.min.io/server/minio/release/windows-amd64/minio.exe
  37. # download etcd
  38. wget -q -O etcd.zip https://github.com/etcd-io/etcd/releases/download/v${ETCD_VERSION}/etcd-v${ETCD_VERSION}-windows-amd64.zip
  39. unzip etcd.zip
  40. find -name etcd.exe | xargs -I {} cp -frv {} milvus/bin
  41. zip -r ${target_filename} milvus