mirror of https://github.com/veops/cmdb.git
feature: add a new management script, such as install,start,pause,del… (#277)
* feature: add a new management script, such as install,start,pause,delete,uninstall * doc: add install.sh method in readme * doc: add install.sh method in readme, change install.sh for macos support * doc: add install.sh method in readme * doc: add install.sh method in readme
This commit is contained in:
parent
981f8b0145
commit
2933bf1efa
26
README.md
26
README.md
|
@ -73,20 +73,34 @@
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
### Docker 一键快速构建
|
### Docker 一键快速构建
|
||||||
- 进入主目录(先安装 docker 环境, 注意要clone整个项目)
|
> 方法一
|
||||||
|
- 第一步: 先安装 docker 环境, 以及docker-compose
|
||||||
|
- 第二步: 拷贝项目
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/veops/cmdb.git
|
||||||
|
```
|
||||||
|
- 第三步:进入主目录,执行:
|
||||||
```
|
```
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
|
> 方法二, 该方法适用于linux系统
|
||||||
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
- 第一步: 先安装 docker 环境, 以及docker-compose
|
||||||
- username: demo 或者 admin
|
- 第二步: 直接使用项目根目录下的install.sh 文件进行 `安装`、`启动`、`暂停`、`查状态`、`删除`、`卸载`
|
||||||
- password: 123456
|
```shell
|
||||||
|
curl -so install.sh https://raw.githubusercontent.com/veops/cmdb/master/install.sh
|
||||||
|
sh install.sh install
|
||||||
|
```
|
||||||
|
|
||||||
### [本地开发环境搭建](docs/local.md)
|
### [本地开发环境搭建](docs/local.md)
|
||||||
|
|
||||||
### [Makefile 安装](docs/makefile.md)
|
### [Makefile 安装](docs/makefile.md)
|
||||||
|
|
||||||
|
## 验证
|
||||||
|
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
||||||
|
- username: demo 或者 admin
|
||||||
|
- password: 123456
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
_**欢迎关注公众号(维易科技OneOps),关注后可加入微信群,进行产品和技术交流。**_
|
_**欢迎关注公众号(维易科技OneOps),关注后可加入微信群,进行产品和技术交流。**_
|
||||||
|
|
|
@ -68,20 +68,40 @@
|
||||||
|
|
||||||
### One-Click Docker Quick Build
|
### One-Click Docker Quick Build
|
||||||
|
|
||||||
- Prepare: install docker and docker-compose
|
> Method 1
|
||||||
|
- step 1: **Prepare: install docker and docker-compose**
|
||||||
|
- step 2: copy the repository
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/veops/cmdb.git
|
||||||
|
```
|
||||||
|
- step 3: In directory cmdb:
|
||||||
|
```
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
> Method 2 Usefull for linux os.
|
||||||
|
- step 1: **Prepare: install docker and docker-compose**
|
||||||
|
- step 2: directly use the install.sh file in the project's root directory to `install`, `start`, `pause`, `status`, `delete`, and `uninstall` the application.
|
||||||
|
```shell
|
||||||
|
curl -so install.sh https://raw.githubusercontent.com/veops/cmdb/master/install.sh
|
||||||
|
sh install.sh install
|
||||||
|
```
|
||||||
|
|
||||||
- In directory cmdb
|
- In directory cmdb
|
||||||
```
|
```
|
||||||
docker-compose up -d
|
docker-compose up -d
|
||||||
```
|
```
|
||||||
- View: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
|
||||||
- username: demo or admin
|
|
||||||
- password: 123456
|
|
||||||
|
|
||||||
|
|
||||||
### [Local Setup](local_en.md)
|
### [Local Setup](local_en.md)
|
||||||
|
|
||||||
### [Installation with Makefile](makefile_en.md)
|
### [Installation with Makefile](makefile_en.md)
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
- View: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
||||||
|
- username: demo or admin
|
||||||
|
- password: 123456
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
1. Fork it
|
1. Fork it
|
||||||
|
|
|
@ -0,0 +1,157 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
current_path=$(pwd)
|
||||||
|
cmdb_dir=$(cd ~ && pwd)/apps
|
||||||
|
|
||||||
|
check_docker() {
|
||||||
|
docker info >/dev/null 2>&1
|
||||||
|
if ! [ $? -eq 0 ]; then
|
||||||
|
echo "error: please install and start docker firstly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
check_docker_compose() {
|
||||||
|
docker-compose --version >/dev/null 2>&1
|
||||||
|
if ! [ $? -eq 0 ]; then
|
||||||
|
echo "error: please install docker-compose firstly"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
clone_repo() {
|
||||||
|
local repo_url=$1
|
||||||
|
git clone $repo_url || {
|
||||||
|
echo "error: failed to clone $repo_url"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
change_directory() {
|
||||||
|
local new_dir=$1
|
||||||
|
if ! mkdir -p "$new_dir"; then
|
||||||
|
echo "error: failed to create directory $new_dir"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cd "$new_dir" || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
install_service() {
|
||||||
|
echo ""
|
||||||
|
echo "Installing the service $1..."
|
||||||
|
change_directory "$cmdb_dir"
|
||||||
|
|
||||||
|
if [ -d "${cmdb_dir}/cmdb" ]; then
|
||||||
|
echo "directory ${cmdb_dir}/cmdb already exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
clone_repo "https://githubfast.com/veops/cmdb.git" || clone_repo "https://github.com/veops/cmdb.git"
|
||||||
|
cd ${cmdb_dir}/cmdb || exit 1
|
||||||
|
docker-compose pull
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "successfully install package in directory: ${cmdb_dir}/cmdb"
|
||||||
|
fi
|
||||||
|
cd $current_path || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
start_service() {
|
||||||
|
echo "Starting the service $1..."
|
||||||
|
cd ${cmdb_dir}/cmdb
|
||||||
|
docker-compose up -d
|
||||||
|
cd $current_path
|
||||||
|
}
|
||||||
|
|
||||||
|
pause_service() {
|
||||||
|
case $2 in
|
||||||
|
"" | cmdb-api | cmdb-ui | cmdb-db | cmdb-cache)
|
||||||
|
echo "Pausing the service ..."
|
||||||
|
|
||||||
|
cd ${cmdb_dir}/cmdb || exit 1
|
||||||
|
docker-compose stop $2
|
||||||
|
|
||||||
|
cd $current_path || exit 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Please input invalid service name: [cmdb-api|cmdb-ui|cmdb-db|cmdb-cache]"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_service() {
|
||||||
|
echo "Deleting the service ..."
|
||||||
|
cd ${cmdb_dir}/cmdb || exit 1
|
||||||
|
docker-compose down
|
||||||
|
cd $current_path || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
status_service() {
|
||||||
|
cd ${cmdb_dir}/cmdb || exit 1
|
||||||
|
docker-compose ps
|
||||||
|
cd $current_path || exit 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall_service() {
|
||||||
|
if ! [ -d "${cmdb_dir}/cmdb" ]; then
|
||||||
|
echo "directory ${cmdb_dir}/cmdb already not exist"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -p "Are you sure to uninstall the all the application and data? y/n:" input
|
||||||
|
if [ $input = "y" ]; then
|
||||||
|
echo "Uninstalling the service ..."
|
||||||
|
|
||||||
|
cd ${cmdb_dir}/cmdb || exit 1
|
||||||
|
docker-compose down -v
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
rm -fr ${cmdb_dir}/cmdb
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $current_path || exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Welcome to the CMDB service management script!"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
check_depend() {
|
||||||
|
check_docker
|
||||||
|
check_docker_compose
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
install)
|
||||||
|
check_depend
|
||||||
|
install_service $2
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
check_depend
|
||||||
|
start_service $2
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
check_depend
|
||||||
|
status_service $2
|
||||||
|
;;
|
||||||
|
pause)
|
||||||
|
check_depend
|
||||||
|
pause_service $2
|
||||||
|
;;
|
||||||
|
delete)
|
||||||
|
check_depend
|
||||||
|
delete_service $2
|
||||||
|
;;
|
||||||
|
uninstall)
|
||||||
|
check_depend
|
||||||
|
uninstall_service $2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 [install|start|pause|uninstall]"
|
||||||
|
echo "install Used to install the application"
|
||||||
|
echo "start Used to start the application"
|
||||||
|
echo "status Used to show status of the application"
|
||||||
|
echo "pause Used to pause the application"
|
||||||
|
echo "delete Used to delete the application"
|
||||||
|
echo "uninstall Used to uninstall the application, include all data"
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in New Issue