devops-backend

一站式DevOps、自动化运维、云原生、CMDB、CICD、SQL审核执行、工单流程管理运维平台

APACHE-2.0 License

Stars
276
Committers
1

https://demo.imaojia.com/

Dashboard Dashborad CMDBkubernetes cmdb CICD cicd cicd

Docker()

docker build -t docker.imaojia.com/allinone/devops-backend:ce1.0 --build-arg 'APP=devops-backend' -f Dockerfile .
docker run -it --name t1 -p 10000:80 -v `pwd`/config.py:/app/devops-backend/config.py -d docker.imaojia.com/allinone/devops-backend:ce1.0
python manage.py makemigrations
python manage.py migrate
python manage.py initdata --type all
python manage.py createsuperuser

  • Python 3.9
  • MySQL 8.0.25
  • ElasticSearch 7.14.0
  • Harbor v1.7

Jenkins

plugins:

  • http request
  • docker
  • Docker Pipeline

Jenkins

python3

pycryptodome==3.9.8 xmltodict==0.12.0 requests==2.25.0 ansible==2.10.4

MySQL

docker run -it --name mysqldb -p 43306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=ydevopsdb -e MYSQL_USER=devops -e MYSQL_PASSWORD=ops123456 -d mysql:8.0.18 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

redis

docker run -d --name redis -p 6379:6379 daocloud.io/redis --requirepass 'ops123456'

ElasticSearch

docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d elasticsearch:7.14.0

GitLab

docker run -d --name gitlab -p 8090:8090 -p 2222:2222 gitlab/gitlab-ce

mysqlclient:

  • debian
sudo apt install mysql-client-8.0 libmysqlclient-dev python3-dev python-dev libldap2-dev libsasl2-dev libssl-dev
  • redhat
--

openldap:

  • debian
sudo apt-get install libsasl2-dev python-dev libldap2-dev libssl-dev
  • redhat:
yum install python-devel openldap-devel

ansible

yum -y install sshpass

RBAC

from rest_framework.schemas.openapi import SchemaGenerator
generator = SchemaGenerator(title='DevOps API')
data = []
try:
    generator.get_schema()
except BaseException as e:
    print(str(e))
finally:
    data = generator.endpoints

python manage.py migrate
# 
python manage.py initdata --help

Nginx

server {
    listen 9000;
    server_name localhost;
    error_log /usr/local/nginx/logs/devops_error.log;
    #access_log off;
    access_log /usr/local/nginx/logs/devops_access.log;
    error_page 404 /404.html;
    location = /404.html {
        root /etc/nginx;
    }
    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /etc/nginx;
    }
    underscores_in_headers on;
    client_max_body_size   2048m;

    location / {
        root /data/frontend/dist;
        index index.html index.htm;
        try_files $uri $uri/ /index.html;
    }
    location ~ ^/(admin|api) {
        proxy_pass http://localhost:8000;
        proxy_connect_timeout    1200s;
        proxy_read_timeout       1200s;
        proxy_send_timeout       1200s;
        proxy_set_header Host $host:$server_port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

  • related
  • dashboard
    class ExtMeta:
        related = False
        dashboard = False