- 用户注册、登录(邮件确认)
- 通过用户权限进行页面视图限制
- 第三个方API接入管理
- 通过用户添加/设置IP地址进行访问限制
- Celery后台任务执行,周期性任务执行
- Salt单(多)主机命令执行
- Zabbix主机批量添加(删除)
cd /usr/local/
git clone [email protected]:guomaoqiu/devopsplatform.git
yum install -y python-devel python-mysql virtualenv pip supervisor
#创建虚拟环境并且激活
virtualenv /usr/local/devopsenv
cd /usr/local/devopsenv && source activate
pip install -r requirements.txt
CREATE DATABASE `DB_NAME` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
grant all on DB_NAME.* to DB_USER@'127.0.0.1' identified by 'PASSWORD';
flush privileges;
python manager.py db init
python manager.py db migrate
python manager.py db upgrade
python manager.py shell << EOF
from manager import Role
Role.insert_roles()
Role.query.all()
exit()
EOF
mkdir /srv/salt/_grains/
cp init/get_server.py /srv/salt/_grains/
# 同步
salt '*' saltutil.sync_all
# 检查自定义grains是否发布成功
salt '*' grains.items
celery worker -A manager.celery -l info -E -B
ln -sv /usr/local/devopsenv/bin/supervisorctl /usr/bin/
ln -sv /usr/local/devopsenv/bin/supervisord /usr/bin/
/usr/local/devopsenv/bin/echo_supervisord_conf > /etc/supervisor.conf
[program:devops]
command=/usr/local/devopsenv/bin/gunicorn -w 10 -b 127.0.0.1:5000 manager:app --log-file /tmp/gunicorn.log --log-level=debug
directory=/usr/local/devopsplatform
stopwaitsecs=0
autostart=true
autorestart=true
stdout_logfile=/var/log/gunicorn.log
stderr_logfile=/var/log/gunicorn.error
[program:celery]
command=/usr/local/devopsenv/bin/celery worker -A manager.celery -l debug
directory=/usr/local/devopsplatform
stdout_logfile=/var/log/supervisor/celeryd_out.log
stderr_logfile=/var/log/supervisor/celeryd_err.log
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=20
autostart=true
autorestart=true
startsecs=10
supervisord -c /etc/supervisor.conf
supervisorctl -c /etc/supvisrod.conf status all
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /var/log/devopsplatform_access.log;
error_log /var/log/devopsplatform_error.log;
}
python manager.py runserver
http://xxx.xxx.xxx.xxx
账户名: admin 密码: admin
(注: demo版本部分功能已禁用🍺)
如果您尝试使用此套代码搭建该平台,中间有任何问题请及时提issue或联系我(QQ:2399447849),Thx!!!