Yokiy 运维自动化平台项目
- 项目地址:https://gitee.com/jdytrip/jdy_devops.git
- DEMO: http://demo.yokiy.com/ 用户名 admin 密码 admin123
项目简介
- 这是一个web自动化平台,实现一键部署。
- 基于Python 3 和 Django2.0
- Bootstrap ampleadmin 模板
- Docker kubernetes
- Mysql 5.6 & Redis 4.0
主要功能
- 用户权限管理
- CI/CD 持续部署,持续构建
- MySql执行管理
- 应用日志管理
- 应用监控
- API监控
TODO
- 自动创建应用,yml配置文件前置
- 监控告警通知
- 配置模板
- 多构建节点
- 发布审核
- API监控多节点
- 文档管理
- 短信验证
- 钉钉加入
依赖
- django==2.0
- requests==2.18.4
- mysqlclient==1.3.12
- PyMySQL==0.8.0
- pycurl==7.43.0.1
- APScheduler==3.0.3
- SQLAlchemy==1.1.7
- celery==4.1.0
- django-celery-results==1.0.1
- django-redis==4.8.0
效果图
部署步骤
安装版
- 部署kubernetes并安装kubectl
- 安装mysql & redis & nginx
安装pyenv:
1
2
3
4
5
6
7
8
9
10
11
12curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash # 安装虚拟环境,脚本跑完之后会有提示 按照提示修改自己的`~/.bash_profile
# 打开配置文件
vim ~/.bash_profile
# 复制刚才提示中的类似这三段
# 不能直接复制我的,每个人的不一样
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-"
# 使自己的profile生效
source ~/.bash_profile安装Python3:
1
pyenv install 3.6.5
创建运维平台运行的虚拟环境
1
pyenv virtualenv 3.6.5 venv
Clone并编写配置:
1
2
3git clone -b master https://gitee.com/jdytrip/jdy_devops.git
cd /data/jdy_devops # 进入网站目录
pyenv local venv # 将项目文件夹的环境设置为 virtualenv修改jdyops/db.py 配置文件
安装依赖:
1
pip install -r requirements.txt
初始化数据库:
1
2
3python manage.py makemigrations django_celery_results # 可忽略
python manage.py makemigrations server
python manage.py migrate初始化管理员数据和权限数据:
1
python ./daemon/init_db.py
注意,管理员账号初始化为admin,密码为admin123
后台程序启动:
1
celery multi start -A jdyops worker -l info -c 8 -n worker1.%h # 启动多进程 -c {进程数}
启动定时任务程序:
1
nohup python ./daemon/api_monitor.py >>./logs/api_monitor.log 2>&1 &
启动nginx: 将daemon/jdy_devops.cnf 拷贝到nginx/conf/vhost下,并修改配件文件相应字段,然后启动
启动uwsgi
1
uwsgi uwsgi.ini
安装构建环境
- 生成openssh key,将key和pub放入 daemon/ssh_key/ 目录下
- 安装JDK8,MAVEN3,NODEJS
1
2# 到构建节点机器上运行,前期可以与web在同一台机器
sh jdy_devops/daemon/sh/install_mvn_npm.sh
前台启动celery
1
celery -A ManagerMaster worker --pool=solo -l info
Docker版
安装docker:
- 根据自己的系统
- 安装docker 和 docker-compose
- 教程: https://docs.docker.com/install/
下载源码:
修改配置文件jdyops/db.py
- 修改jdyops/nginx/nginx.example.conf
1 | server |
运行程序
1
2
3
4
5# 进入项目根目录
cd jdy_devops
# 开启程序
docker-compose up -d初始化数据库
1
2
3docker exec -it devops-web /usr/local/bin/python /src/yokiy-devops/manage.py makemigrations server
docker exec -it devops-web /usr/local/bin/python /src/yokiy-devops/manage.py migrate
docker exec -it devops-web /usr/local/bin/python /src/yokiy-devops/daemon/init_db.py安装构建环境
- 生成openssh key,将key和pub放入 daemon/ssh_key/ 目录下
- 安装JDK8,MAVEN3,NODEJS
1
2# 到构建节点机器上运行,前期可以与web在同一台机器
sh jdy_devops/daemon/sh/install_mvn_npm.sh
开始访问你的域名吧~