mirror of
				https://github.com/veops/cmdb.git
				synced 2025-11-04 13:46:17 +08:00 
			
		
		
		
	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:
		
							
								
								
									
										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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										157
									
								
								install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								install.sh
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
		Reference in New Issue
	
	Block a user