# Seecoder Achitect
## Overview
帮助学生在有限制的情况下,在平台以流水线的方式部署软件实体并使用。
## Module
### core
核心逻辑块,目前以下几个部分
- 流水线构建核心逻辑,采用Pipeline设计模式。
### **API**
学长在老项目中写的,这里进行一个抽取和封装成一个模块,方便以后复用修改
> 注意:部分属性我也不清楚是什么作用,可能是老项目用到的
>
> 用的时候只管你用到的属性就好了
对gitlab、docker、k8s、jenkins、nexus的client的一个简单封装,用于与平台内各个组件直接交流
使用spring的自定义配置功能,可在yml自动配置
**usage**
加入依赖
```xml
cn.seecoder
api
0.0.1-SNAPSHOT
org.springframework.boot
spring-boot-configuration-processor
true
```
**yml配置示例**
> 配置信息属性具体参考,ApplicationProperties.java文件定义
各个配置属性如何获取从官方文档找对应组件的访问方式,如下列文档说明
再次强调下
**注意:部分属性我也不清楚是什么作用,可能是老项目用到的**
**用的时候只管你用到的属性就好了**
[使用 Kubernetes API 访问集群 | Kubernetes](https://kubernetes.io/zh/docs/tasks/administer-cluster/access-cluster-api/)
```yml
seecoder:
secret:
auth:
signingKey:
iss:
aud:
portal:
redirectUri:
gitlab:
host:
git-proxy:
webHookProxy:
username:
token:
jenkins:
host:
username:
token:
baseImage:
docker:
registry:
mail:
from:
storage:
type:
properties:
location:
k8s:
api-server:
token:
ingress-host:
public-namespace:
public-mysql-url:
public-mysql-pod:
public-mysql-username:
public-mysql-password:
debugging:
registry:
host:
username:
password:
nexus-server:
repo-name:
clean-up-task:
```
### web
后端
三层
- controller
- service
- dao
dao层采用mybatis作为orm框架来开发
### common
为了能正常使用学长的api,从学长代码迁移出来的。
公共类库,通用util、enum、exception之类的。