📝 feat: 添加之前文档
This commit is contained in:
parent
034ac1fc8a
commit
d7e6f8643a
|
@ -4,7 +4,6 @@ target/
|
|||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
logs
|
||||
docs
|
||||
|
||||
### STS ###
|
||||
.apt_generated
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,118 @@
|
|||
# Drools题目
|
||||
|
||||
## 入门
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo
|
||||
|
||||
- 所购图书总价在100元以下的没有优惠
|
||||
- 所购图书总价在100到200元的优惠20元
|
||||
- 所购图书总价在200到300元的优惠50元
|
||||
- 所购图书总价在300元以上的优惠100元
|
||||
|
||||
## 简单
|
||||
|
||||
### 简单折扣规则系统
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo1
|
||||
|
||||
* 当订单金额超过100元时,给予5%折扣
|
||||
* VIP客户额外获得2%折扣
|
||||
* 两种折扣可以叠加
|
||||
|
||||
### 年龄验证系统
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo2
|
||||
|
||||
- 场景:年龄限制内容访问控制
|
||||
- 要求:
|
||||
- 18岁以下用户不能访问R级内容
|
||||
- 21岁以下用户不能购买酒精类产品
|
||||
- 需要处理用户年龄和访问内容类型两个维度
|
||||
|
||||
## 中级
|
||||
|
||||
### 信用卡申请审批系统
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo3
|
||||
|
||||
- 场景:自动化信用评估
|
||||
- 要求:
|
||||
- 根据申请人的信用评分、收入和现有负债自动决策
|
||||
- 信用评分>700且收入>5万:批准高额度
|
||||
- 信用评分600-700:批准中等额度
|
||||
- 信用评分<600但收入>10万:批准低额度
|
||||
- 其他情况拒绝
|
||||
- 知识点:复杂条件组合、优先级设置
|
||||
|
||||
### 保险费率计算引擎
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo4
|
||||
|
||||
- 场景:动态保险费定价
|
||||
- 要求:
|
||||
- 基于驾驶记录(事故次数)、车型、地区计算保费
|
||||
- 高风险地区保费增加20%
|
||||
- 每有一次事故记录保费增加15%
|
||||
- 安全车型(有自动刹车等)保费减少10%
|
||||
- 多种因素叠加计算
|
||||
|
||||
## 高级
|
||||
|
||||
### 实时欺诈检测系统
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo5
|
||||
|
||||
- 场景:支付交易监控
|
||||
- 要求:
|
||||
- 短时间内(如10分钟)同一账户多次大额交易触发警报
|
||||
- 交易地点与常用地点距离过远触发警报
|
||||
- 异常时间(如凌晨3点)的大额交易
|
||||
- 对新账户的首笔大额交易特别关注
|
||||
- 使用Drools的流式处理能力
|
||||
|
||||
### 动态定价引擎
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> demo6
|
||||
|
||||
- 场景:酒店房间实时定价
|
||||
- 要求:
|
||||
- 基于入住率(当前预订/总房间数)动态调整价格
|
||||
- 节假日价格自动上浮
|
||||
- 临近入住日期剩余房间多时降价
|
||||
- 竞争对手价格变化时调整
|
||||
- 需要考虑数十条可能互相冲突的规则
|
||||
|
||||
## 终极
|
||||
|
||||
### 复杂医疗诊断规则系统
|
||||
|
||||
- 场景:症状诊断辅助
|
||||
- 要求:
|
||||
- 基于患者症状、病史、检查结果组合推断可能疾病
|
||||
- 处理症状之间的关联关系(如发热+咳嗽可能是流感)
|
||||
- 处理规则冲突(相同症状可能对应多种疾病)
|
||||
- 需要实现规则的可追溯性(能解释为什么得出某个结论)
|
||||
|
||||
### 供应链异常处理系统
|
||||
|
||||
- 场景:全球物流监控
|
||||
- 要求:
|
||||
- 监控运输延迟、库存异常、需求波动等多维数据
|
||||
- 自动触发补货、调货或预警
|
||||
- 处理跨国家/地区的海关规则差异
|
||||
- 集成天气事件、政治事件等外部数据源
|
||||
- 需要处理数千条可能互相影响的业务规则
|
|
@ -0,0 +1,256 @@
|
|||
# Gitlab安装
|
||||
|
||||
完全笔记《安装GitLabel》 :https://www.yuque.com/bunny-6ixda/bgxtva/wtw4x4r8kbvxwgac?singleDoc#
|
||||
|
||||
## Docker安装
|
||||
|
||||
- docker镜像:
|
||||
|
||||
- https://hub.docker.com/r/gitlab/gitlab-ee/tags?name=17.9.6
|
||||
- https://hub.docker.com/r/gitlab/gitlab-runner/tags?name=17.11.0
|
||||
|
||||
```bash
|
||||
sudo apt-get remove docker docker-engine docker.io containerd runc
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
sudo apt-get install ca-certificates curl gnupg lsb-release
|
||||
# 添加Docker官方GPG密钥
|
||||
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
|
||||
# 安装docker
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io
|
||||
# 默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo,设置完成后退出当前用户之后再进入既可
|
||||
sudo usermod -aG docker $USER
|
||||
# 运行docker
|
||||
sudo systemctl start docker
|
||||
# 安装工具
|
||||
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
|
||||
# 重启docker
|
||||
sudo service docker restart
|
||||
# 重启终端生效
|
||||
exit
|
||||
```
|
||||
|
||||
配置镜像源
|
||||
|
||||
```bash
|
||||
# 创建目录
|
||||
sudo mkdir -p /etc/docker
|
||||
# 写入配置文件
|
||||
sudo tee /etc/docker/daemon.json <<-'EOF'
|
||||
{
|
||||
"registry-mirrors": [
|
||||
"https://docker-0.unsee.tech",
|
||||
"https://docker-cf.registry.cyou",
|
||||
"https://docker.1panel.live"
|
||||
]
|
||||
}
|
||||
EOF
|
||||
|
||||
# 重启docker服务
|
||||
sudo systemctl daemon-reload && sudo systemctl restart docker
|
||||
```
|
||||
|
||||
## 环境搭建
|
||||
|
||||
### 安装JDK21
|
||||
|
||||
```bash
|
||||
# 安装JDK21
|
||||
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb
|
||||
sudo dpkg -i jdk-21_linux-x64_bin.deb
|
||||
java --version
|
||||
```
|
||||
|
||||
### Maven 3.8.8安装
|
||||
|
||||
#### 安装
|
||||
|
||||
```bash
|
||||
# 安装maven
|
||||
wget https://archive.apache.org/dist/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
|
||||
sudo mkdir -p /opt/maven
|
||||
sudo tar -xzf apache-maven-3.8.8-bin.tar.gz -C /opt/maven
|
||||
sudo mv /opt/maven/apache-maven-3.8.8 /opt/maven/maven-3.8.8
|
||||
|
||||
# 修改镜像配置
|
||||
cd /opt/maven/maven-3.8.8/conf
|
||||
# 赋予权限修改
|
||||
sudo chmod 666 settings.xml
|
||||
|
||||
# 编写配置
|
||||
sudo vim /etc/profile
|
||||
|
||||
# 添加以下内容
|
||||
# export PATH=$PATH:/opt/maven/maven-3.8.8/bin
|
||||
|
||||
# 刷新配置
|
||||
source /etc/profile
|
||||
mvn -V
|
||||
```
|
||||
|
||||
#### maven的镜像
|
||||
|
||||
```xml
|
||||
<mirror>
|
||||
<id>aliyun</id>
|
||||
<name>Aliyun Maven Mirror</name>
|
||||
<url>https://maven.aliyun.com/repository/public</url>
|
||||
<mirrorOf>central</mirrorOf>
|
||||
</mirror>
|
||||
```
|
||||
|
||||
## 安装Gitlab
|
||||
|
||||
```bash
|
||||
# Ubuntu
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/gitlab-ce_18.0.0-ce.0_amd64.deb
|
||||
|
||||
# dpkg
|
||||
sudo dpkg -i gitlab-ce_18.0.0-ce.0_amd64.deb
|
||||
```
|
||||
|
||||
### 编辑配置
|
||||
|
||||
```bash
|
||||
# 编辑站点
|
||||
sudo vim /etc/gitlab/gitlab.rb
|
||||
```
|
||||
|
||||
修改下面内容
|
||||
|
||||
```bash
|
||||
external_url 'http://192.168.95.134:3001'
|
||||
```
|
||||
|
||||
应用配置
|
||||
|
||||
```bash
|
||||
# 应用配置
|
||||
sudo gitlab-ctl reconfigure
|
||||
```
|
||||
|
||||
### 常用命令
|
||||
|
||||
```bash
|
||||
# 服务控制
|
||||
sudo gitlab-ctl start
|
||||
sudo gitlab-ctl status
|
||||
sudo gitlab-ctl stop
|
||||
|
||||
# 应用配置
|
||||
sudo gitlab-ctl reconfigure
|
||||
|
||||
# 重启
|
||||
sudo gitlab-ctl restart
|
||||
```
|
||||
|
||||
### 查看密码
|
||||
|
||||
```bash
|
||||
# 24 小时后自动删除
|
||||
sudo cat /etc/gitlab/initial_root_password
|
||||
```
|
||||
|
||||
## 安装Gitlab-Runner
|
||||
|
||||
```bash
|
||||
# 需要 gitlab-runner-helper-images
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner-helper-images/gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
sudo dpkg -i gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
|
||||
# 之后安装 gitlab-runner
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/gitlab-runner_18.0.1-1_amd64.deb
|
||||
sudo dpkg -i gitlab-runner_18.0.1-1_amd64.deb
|
||||
```
|
||||
|
||||
### 先下载后安装
|
||||
|
||||
```bash
|
||||
# Ubuntu
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner-helper-images/gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/gitlab-runner_18.0.1-1_amd64.deb
|
||||
|
||||
# dpkg
|
||||
sudo dpkg -i gitlab-runner-helper-images_18.0.1-1_all.deb
|
||||
sudo dpkg -i gitlab-runner_18.0.1-1_amd64.deb
|
||||
```
|
||||
|
||||
### 配置Gitlab-Runner用户
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> 如果有需要清理缓存:`sudo rm -rf /opt/maven/maven-3.8.8/conf/builds/**`**
|
||||
>
|
||||
> gitlab-ce:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/focal/main/g/gitlab-ce/
|
||||
>
|
||||
> gitlab-runner-helper-images:https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner-helper-images/
|
||||
>
|
||||
> gitlab-runner:https://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/ubuntu/pool/focal/main/g/gitlab-runner/
|
||||
|
||||
```bash
|
||||
sudo gitlab-runner uninstall
|
||||
sudo gitlab-runner install --working-directory /home/gitlab-runner --user root
|
||||
sudo systemctl restart gitlab-runner
|
||||
```
|
||||
|
||||
### 检查 GitLab Runner 配置
|
||||
|
||||
```bash
|
||||
sudo vim /etc/gitlab-runner/config.toml
|
||||
```
|
||||
|
||||
修改文件
|
||||
|
||||
```bash
|
||||
[[runners]]
|
||||
name = "my-runner"
|
||||
executor = "shell"
|
||||
shell = "bash"
|
||||
user = "gitlab-runner" # 确保用户有权限
|
||||
working_directory = "/home/gitlab-runner"
|
||||
```
|
||||
|
||||
### 检查 Maven 安装目录权限
|
||||
|
||||
```bash
|
||||
sudo chmod 777 -R /opt/maven/maven-3.8.8
|
||||
sudo chmod 777 -R /opt/maven/maven-3.8.8/
|
||||
sudo chown -R gitlab-runner:gitlab-runner /opt/maven/maven-3.8.8/
|
||||
```
|
||||
|
||||
## CI/CD脚本示例
|
||||
|
||||
如果构建出现`pending`情况大部分情况下,是文件写错了,要么是`Gitlab-Runner`标签没写对
|
||||
|
||||
```yml
|
||||
stages:
|
||||
- build
|
||||
- build-docker
|
||||
- deploy
|
||||
|
||||
variables:
|
||||
CONTAINER_NAME: "bunny-auth-server"
|
||||
DOCKER_TAG: "4.0.0"
|
||||
|
||||
build-job:
|
||||
stage: build
|
||||
script:
|
||||
- echo "Compiling the code..."
|
||||
- mvn clean package -DskipTests
|
||||
- echo "Compile complete."
|
||||
- docker pull openjdk:24-ea-17-jdk-oraclelinux9
|
||||
- echo "docker pull complete."
|
||||
- docker build -f Dockerfile -t $CONTAINER_NAME:$DOCKER_TAG .
|
||||
- echo "Application successfully deployed."
|
||||
|
||||
deploy-job:
|
||||
stage: deploy
|
||||
environment: production
|
||||
script:
|
||||
- echo "Deploying application..."
|
||||
- docker stop $CONTAINER_NAME || true
|
||||
- docker rm $CONTAINER_NAME || true
|
||||
- docker run -d -p 7070:7070 -p 8000:8000 --name $CONTAINER_NAME --restart always $CONTAINER_NAME:$DOCKER_TAG
|
||||
- echo "Application successfully deployed."
|
||||
```
|
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Loading…
Reference in New Issue