Exemplo n.º 1
0
def insert_project(project_dict):
    """新建项目信息记录"""
    project_obj = ModelProject()
    project_obj.project_id = gen_unique_id()
    project_obj.project_name = project_dict.get('project_name', '')
    project_obj.project_description = project_dict.get('project_description',
                                                       '')
    project_obj.project_creator_id = project_dict.get('project_creator_id', '')
    try:
        db.session.add(project_obj)
        db.session.commit()
    except IntegrityError as e:
        current_app.logger.info('exception= {}'.format(e))
        return 202004251120, 'duplicate project name'
    return 0, 'success'
Exemplo n.º 2
0
def insert_docker_container(docker_dict):
    """新建docker容器记录"""
    docker_obj = ModelDockerContainer()
    docker_obj.docker_id = gen_unique_id()
    docker_obj.project_id = docker_dict.get('project_id')
    docker_obj.container_id = docker_dict.get('container_id', '')
    docker_obj.git_address = docker_dict.get('git_address')
    docker_obj.git_branch = docker_dict.get('git_branch')
    docker_obj.image_name = docker_dict.get('image_name')
    docker_obj.net_name = docker_dict.get('net_name')
    docker_obj.net_ip = docker_dict.get('net_ip')
    docker_obj.creator_id = docker_dict.get('creator_id')

    db.session.add(docker_obj)
    db.session.commit()
    return 0, 'success'
Exemplo n.º 3
0
def run_docker_with_sh(docker_dict):
    """启动docker容器,并通过挂载shell文件的方式,拉取启动对应项目"""
    shell_file_name = ROOT_DIR + 'run_docker_with_volumn.sh'
    tmp_file = gen_unique_id()
    param_arr = [
        'sh', shell_file_name,
        docker_dict.get('image_name'),
        docker_dict.get('net_name', ''),
        docker_dict.get('net_ip', ''), '>', tmp_file
    ]
    os.system(' '.join(param_arr))
    file = open(tmp_file)
    lines = file.readlines()
    container_id = lines[-1]
    os.system('rm -rf ' + tmp_file)
    if container_id.endswith('\n'):
        return container_id[0:-1]
    return container_id
Exemplo n.º 4
0
def run_docker(docker_dict):
    """调用脚本,根据指定镜像启动docker容器"""
    sh_file_path = ROOT_DIR + 'run_docker.sh'
    tmp_file = gen_unique_id()
    param_arr = [
        'sh', sh_file_path,
        docker_dict.get('image_name'),
        docker_dict.get('net_name', ''),
        docker_dict.get('net_ip', ''), '>', tmp_file
    ]
    os.system(' '.join(param_arr))
    file = open(tmp_file)
    lines = file.readlines()
    container_id = lines[-1]
    os.system('rm -rf ' + tmp_file)
    if container_id.endswith('\n'):
        return container_id[0:-1]
    return container_id
Exemplo n.º 5
0
def build_java_project_image(image_dict):
    """调用脚本 从git拉取java项目,返回生成的镜像id"""
    sh_file_path = ROOT_DIR + 'build_java_image.sh'
    git_address = image_dict['git_address']
    git_branch = image_dict['git_branch']
    image_name = image_dict['image_name']
    tmp_file = gen_unique_id()
    param_arr = [
        'sh', sh_file_path, git_address, git_branch, image_name, '>', tmp_file
    ]
    os.system(' '.join(param_arr))
    file = open(tmp_file)
    lines = file.readlines()
    tail_line = lines[-1]
    os.system('rm -rf ' + tmp_file)
    image_id = tail_line.split(' ')[-1]
    if image_id.endswith('\n'):
        return image_id[0:-1]
    return image_id