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 环境, 注意要clone整个项目)
|
||||
|
||||
> 方法一
|
||||
- 第一步: 先安装 docker 环境, 以及docker-compose
|
||||
- 第二步: 拷贝项目
|
||||
```shell
|
||||
git clone https://github.com/veops/cmdb.git
|
||||
```
|
||||
- 第三步:进入主目录,执行:
|
||||
```
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
||||
- username: demo 或者 admin
|
||||
- password: 123456
|
||||
> 方法二, 该方法适用于linux系统
|
||||
- 第一步: 先安装 docker 环境, 以及docker-compose
|
||||
- 第二步: 直接使用项目根目录下的install.sh 文件进行 `安装`、`启动`、`暂停`、`查状态`、`删除`、`卸载`
|
||||
```shell
|
||||
curl -so install.sh https://raw.githubusercontent.com/veops/cmdb/master/install.sh
|
||||
sh install.sh install
|
||||
```
|
||||
|
||||
### [本地开发环境搭建](docs/local.md)
|
||||
|
||||
### [Makefile 安装](docs/makefile.md)
|
||||
|
||||
## 验证
|
||||
- 浏览器打开: [http://127.0.0.1:8000](http://127.0.0.1:8000)
|
||||
- username: demo 或者 admin
|
||||
- password: 123456
|
||||
|
||||
|
||||
---
|
||||
|
||||
_**欢迎关注公众号(维易科技OneOps),关注后可加入微信群,进行产品和技术交流。**_
|
||||
|
|
|
@ -68,20 +68,40 @@
|
|||
|
||||
### 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
|
||||
```
|
||||
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)
|
||||
|
||||
### [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
|
||||
|
||||
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