mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-06 17:18:35 +08:00
doc: [skip e2e] fix the build deb (#34751)
Signed-off-by: ping.liu <ping.liu@zilliz.com>
This commit is contained in:
parent
88b373b024
commit
21aa23a23e
61
build/deb/README.md
Normal file
61
build/deb/README.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Building Deb package with Docker
|
||||||
|
|
||||||
|
Building Milvus Deb package is easy if you take advantage of the containerized build environment. This document will guide you through this build process.
|
||||||
|
|
||||||
|
1. Docker, using one of the following configurations:
|
||||||
|
|
||||||
|
- **Linux with local Docker** Install Docker according to the [instructions](https://docs.docker.com/installation/#installation) for your OS.
|
||||||
|
|
||||||
|
2. Get the opensource milvus code
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/milvus-io/milvus.git
|
||||||
|
cp -r milvus/build/deb .
|
||||||
|
cd deb
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Start the milvus container and build the deb package
|
||||||
|
```bash
|
||||||
|
# Replace the VERSION with your own
|
||||||
|
sudo docker run -v .:/deb -ti --entrypoint /bin/bash milvusdb/milvus:v$VERSION
|
||||||
|
# in the container
|
||||||
|
cd /deb
|
||||||
|
bash build_deb.sh $VERSION $VERSION $MAINTAINER $DEBEMAIL
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Install the deb package on ubuntu system
|
||||||
|
```bash
|
||||||
|
sudo apt-get update
|
||||||
|
sudo dpkg -i milvus_$VERSION-1_amd64.deb # This package is in the milvus-deb directory
|
||||||
|
sudo apt-get -f install
|
||||||
|
```
|
||||||
|
|
||||||
|
5. Check the status of Milvus
|
||||||
|
```bash
|
||||||
|
sudo systemctl status milvus
|
||||||
|
```
|
||||||
|
|
||||||
|
6. Connect to Milvus
|
||||||
|
|
||||||
|
Please refer to [Hello Milvus](https://milvus.io/docs/v2.3.x/example_code.md), then run the example code.
|
||||||
|
|
||||||
|
7. Uninstall Milvus
|
||||||
|
```bash
|
||||||
|
sudo dpkg -P milvus
|
||||||
|
```
|
||||||
|
|
||||||
|
8. (Optional) By default, Milvus is started in embed mode. If you rely on external etcd and minio, you can modify the following configuration and then restart Milvus.
|
||||||
|
```bash
|
||||||
|
sudo vim /etc/milvus/configs/milvus.yaml
|
||||||
|
```
|
||||||
|
```yaml
|
||||||
|
etcd:
|
||||||
|
endpoints: etcd-ip:2379
|
||||||
|
...
|
||||||
|
use:
|
||||||
|
embed: false
|
||||||
|
minio:
|
||||||
|
address: minio-ip
|
||||||
|
...
|
||||||
|
common:
|
||||||
|
storageType: remote
|
||||||
|
```
|
||||||
@ -1,29 +1,34 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#Download milvus source code
|
#Change config
|
||||||
git clone https://github.com/milvus-io/milvus.git
|
rm -rf milvus
|
||||||
cd milvus
|
cp -r /milvus .
|
||||||
# $1 is the branch name or commit number
|
sed -i 's#embed: false#embed: true#' milvus/configs/milvus.yaml
|
||||||
git checkout $1
|
sed -i 's#dir: default.etcd#data.dir: /var/lib/milvus/etcd#' milvus/configs/milvus.yaml
|
||||||
make
|
sed -i '/data.dir: \/var\/lib\/milvus\/etcd/a \ config:\n path: /etc/milvus/configs/embedEtcd.yaml' milvus/configs/milvus.yaml
|
||||||
cd ..
|
sed -i 's#storageType: remote#storageType: local#' milvus/configs/milvus.yaml
|
||||||
|
cat << EOF > milvus/configs/embedEtcd.yaml
|
||||||
|
listen-client-urls: http://0.0.0.0:2379
|
||||||
|
advertise-client-urls: http://0.0.0.0:2379
|
||||||
|
quota-backend-bytes: 4294967296
|
||||||
|
auto-compaction-mode: revision
|
||||||
|
auto-compaction-retention: '1000'
|
||||||
|
EOF
|
||||||
|
|
||||||
|
|
||||||
#Prepare for milvus-deb
|
#Prepare for milvus-deb
|
||||||
|
rm -rf milvus-deb
|
||||||
mkdir -p milvus-deb/milvus
|
mkdir -p milvus-deb/milvus
|
||||||
mkdir milvus-deb/milvus/milvus-bin
|
mkdir milvus-deb/milvus/milvus-bin
|
||||||
mkdir milvus-deb/milvus/milvus-lib
|
mkdir milvus-deb/milvus/milvus-lib
|
||||||
## binary
|
## binary
|
||||||
cp milvus/bin/milvus milvus-deb/milvus/milvus-bin/
|
cp milvus/bin/milvus milvus-deb/milvus/milvus-bin/
|
||||||
wget https://github.com/etcd-io/etcd/releases/download/v3.5.0/etcd-v3.5.0-linux-amd64.tar.gz && tar -xf etcd-v3.5.0-linux-amd64.tar.gz
|
|
||||||
cp etcd-v3.5.0-linux-amd64/etcd milvus-deb/milvus/milvus-bin/milvus-etcd
|
|
||||||
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio.RELEASE.2021-02-14T04-01-33Z -O milvus-deb/milvus/milvus-bin/milvus-minio
|
|
||||||
## lib
|
## lib
|
||||||
cp -d milvus/internal/core/output/lib/* milvus-deb/milvus/milvus-lib/
|
cp -d milvus/lib/* milvus-deb/milvus/milvus-lib/
|
||||||
cp /usr/lib/x86_64-linux-gnu/libgfortran.so.4.0.0 milvus-deb/milvus/milvus-lib/libgfortran.so.4
|
cp /usr/lib/x86_64-linux-gnu/libgfortran.so.5.0.0 milvus-deb/milvus/milvus-lib/libgfortran.so.4
|
||||||
cp /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0 milvus-deb/milvus/milvus-lib/libgomp.so.1
|
cp /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0 milvus-deb/milvus/milvus-lib/libgomp.so.1
|
||||||
cp /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0 milvus-deb/milvus/milvus-lib/libquadmath.so.0
|
cp /usr/lib/x86_64-linux-gnu/libquadmath.so.0.0.0 milvus-deb/milvus/milvus-lib/libquadmath.so.0
|
||||||
cp /usr/lib/x86_64-linux-gnu/libtbb.so.2 milvus-deb/milvus/milvus-lib/libtbb.so.2
|
cp /usr/lib/x86_64-linux-gnu/libopenblas.so.0 milvus-deb/milvus/milvus-lib/libopenblas.so.0
|
||||||
cp /usr/lib/libopenblas-r0.3.9.so milvus-deb/milvus/milvus-lib/libopenblas.so.0
|
|
||||||
## script
|
## script
|
||||||
cp -r scripts milvus-deb/milvus/
|
cp -r scripts milvus-deb/milvus/
|
||||||
## config
|
## config
|
||||||
@ -31,7 +36,7 @@ cp -r milvus/configs milvus-deb/milvus/
|
|||||||
|
|
||||||
# set env
|
# set env
|
||||||
apt update
|
apt update
|
||||||
apt install gnupg pbuilder ubuntu-dev-tools apt-file dh-make build-essential -y
|
apt install gnupg pbuilder ubuntu-dev-tools apt-file dh-make build-essential libopenblas-dev brz-debian -y
|
||||||
## $3 is name, $4 is email
|
## $3 is name, $4 is email
|
||||||
bzr whoami "$3 $4"
|
bzr whoami "$3 $4"
|
||||||
export DEBFULLNAME="$3"
|
export DEBFULLNAME="$3"
|
||||||
@ -58,8 +63,4 @@ rm -rf milvus/debian/*.ex milvus/debian/*.EX
|
|||||||
cd milvus
|
cd milvus
|
||||||
bzr add debian/source/format
|
bzr add debian/source/format
|
||||||
bzr commit -m "Initial commit of Debian packaging."
|
bzr commit -m "Initial commit of Debian packaging."
|
||||||
bzr builddeb -- -us -uc
|
dpkg-buildpackage -us -uc -ui
|
||||||
|
|
||||||
#sign package and upload to launcgpad
|
|
||||||
#bzr builddeb -S
|
|
||||||
#dput ppa:milvusdb/milvus milvus_$2-1_source.changes
|
|
||||||
|
|||||||
@ -10,20 +10,16 @@ override_dh_auto_install:
|
|||||||
mkdir -p $(PWD)/debian/milvus/usr/bin
|
mkdir -p $(PWD)/debian/milvus/usr/bin
|
||||||
mkdir -p $(PWD)/debian/milvus/usr/lib/milvus/
|
mkdir -p $(PWD)/debian/milvus/usr/lib/milvus/
|
||||||
mkdir -p $(PWD)/debian/milvus/etc/milvus/configs/advanced
|
mkdir -p $(PWD)/debian/milvus/etc/milvus/configs/advanced
|
||||||
mkdir -p $(PWD)/debian/milvus/var/lib/milvus/minio-data
|
|
||||||
mkdir -p $(PWD)/debian/milvus/var/lib/milvus/etcd-data
|
|
||||||
mkdir -p $(PWD)/debian/milvus/lib/systemd/system
|
mkdir -p $(PWD)/debian/milvus/lib/systemd/system
|
||||||
mkdir -p $(PWD)/debian/milvus/etc/ld.so.conf.d
|
mkdir -p $(PWD)/debian/milvus/etc/ld.so.conf.d
|
||||||
cp -f $(PWD)/milvus-bin/milvus $(PWD)/debian/milvus/usr/bin/
|
cp -f $(PWD)/milvus-bin/milvus $(PWD)/debian/milvus/usr/bin/
|
||||||
cp -f $(PWD)/milvus-bin/milvus-minio $(PWD)/debian/milvus/usr/bin/
|
|
||||||
cp -f $(PWD)/milvus-bin/milvus-etcd $(PWD)/debian/milvus/usr/bin/
|
|
||||||
cp -P -r $(PWD)/milvus-lib/* $(PWD)/debian/milvus/usr/lib/milvus/
|
cp -P -r $(PWD)/milvus-lib/* $(PWD)/debian/milvus/usr/lib/milvus/
|
||||||
cp -r $(PWD)/configs/advanced/* $(PWD)/debian/milvus/etc/milvus/configs/advanced/
|
cp -r $(PWD)/configs/advanced/* $(PWD)/debian/milvus/etc/milvus/configs/advanced/
|
||||||
cp $(PWD)/configs/milvus.yaml $(PWD)/debian/milvus/etc/milvus/configs/
|
cp $(PWD)/configs/milvus.yaml $(PWD)/debian/milvus/etc/milvus/configs/
|
||||||
|
cp $(PWD)/configs/glog.conf $(PWD)/debian/milvus/etc/milvus/configs/
|
||||||
|
cp $(PWD)/configs/embedEtcd.yaml $(PWD)/debian/milvus/etc/milvus/configs/
|
||||||
cp $(PWD)/scripts/milvus.conf $(PWD)/debian/milvus/etc/ld.so.conf.d/
|
cp $(PWD)/scripts/milvus.conf $(PWD)/debian/milvus/etc/ld.so.conf.d/
|
||||||
cp $(PWD)/scripts/milvus.service $(PWD)/debian/milvus/lib/systemd/system/
|
cp $(PWD)/scripts/milvus.service $(PWD)/debian/milvus/lib/systemd/system/
|
||||||
cp $(PWD)/scripts/milvus-etcd.service $(PWD)/debian/milvus/lib/systemd/system/
|
|
||||||
cp $(PWD)/scripts/milvus-minio.service $(PWD)/debian/milvus/lib/systemd/system/
|
|
||||||
|
|
||||||
override_dh_shlibdeps:
|
override_dh_shlibdeps:
|
||||||
dh_shlibdeps -l$(shell pwd)/milvus-lib
|
dh_shlibdeps -l$(shell pwd)/milvus-lib
|
||||||
|
|||||||
@ -1,16 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Etcd of Milvus Standalone Server
|
|
||||||
After=network.target syslog.target
|
|
||||||
PartOf=milvus.service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
Alias=milvus-etcd.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
StandardOutput=journal
|
|
||||||
StandardError=inherit
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
# Start main service
|
|
||||||
ExecStart=/usr/bin/milvus-etcd --data-dir /var/lib/milvus/etcd-data
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=MinIO of Milvus Standalone Server
|
|
||||||
After=network.target syslog.target
|
|
||||||
PartOf=milvus.service
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
Alias=milvus-minio.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
StandardOutput=journal
|
|
||||||
StandardError=inherit
|
|
||||||
Restart=always
|
|
||||||
|
|
||||||
# Start main service
|
|
||||||
ExecStart=/usr/bin/milvus-minio server /var/lib/milvus/minio-data
|
|
||||||
@ -2,9 +2,7 @@
|
|||||||
|
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Milvus Standalone Server
|
Description=Milvus Standalone Server
|
||||||
Wants=milvus-etcd.service milvus-minio.service
|
After=network.target syslog.target
|
||||||
Requires=milvus-etcd.service milvus-minio.service
|
|
||||||
After=network.target syslog.target milvus-etcd.service milvus-minio.service
|
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user