63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# NAC系统标准操作原则
|
||
|
||
## 核心原则
|
||
|
||
### 1. 开发位置原则
|
||
- ✅ **必须**在 `/home/ubuntu/NAC_Clean_Dev` 中直接开发
|
||
- ❌ **禁止**在外部目录开发后再集成
|
||
- ❌ **禁止**在 `/tmp` 中开发
|
||
- ❌ **禁止**创建临时目录开发
|
||
|
||
### 2. 编译原则
|
||
- ✅ **必须**使用已有的编译产物(target目录)
|
||
- ❌ **禁止**删除target目录重新编译
|
||
- ❌ **禁止**修改原始代码以解决编译错误
|
||
- ❌ **禁止**不尊重原始设计
|
||
|
||
### 3. 打包原则
|
||
- ✅ **必须**打包整个 NAC_Clean_Dev 目录
|
||
- ✅ **必须**包含 target 编译产物
|
||
- ✅ **必须**排除 .git 目录
|
||
- ✅ **必须**每完成一个阶段立即打包
|
||
- ✅ **必须**打包后立即提供下载
|
||
- ❌ **禁止**只打包源代码
|
||
- ❌ **禁止**排除target目录
|
||
|
||
## 标准打包命令
|
||
|
||
```bash
|
||
cd /home/ubuntu
|
||
VERSION="v2.3.0"
|
||
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
||
PACKAGE_NAME="NAC_Complete_System_${VERSION}_${TIMESTAMP}"
|
||
|
||
tar -czf ${PACKAGE_NAME}.tar.gz --exclude='*/.git' NAC_Clean_Dev/
|
||
|
||
python3 << 'EOF'
|
||
import hashlib, os
|
||
files = [f for f in os.listdir('.') if f.startswith('NAC_Complete_System_') and f.endswith('.tar.gz')]
|
||
if files:
|
||
package_name = sorted(files)[-1]
|
||
h = hashlib.sha3_384()
|
||
with open(package_name, 'rb') as f:
|
||
while chunk := f.read(8192):
|
||
h.update(chunk)
|
||
hash_value = h.hexdigest()
|
||
with open(f"{package_name}.sha3-384", 'w') as f:
|
||
f.write(f"{hash_value} {package_name}\n")
|
||
print(f"✅ {package_name} ({hash_value})")
|
||
EOF
|
||
```
|
||
|
||
## 质量检查
|
||
|
||
### 打包前检查
|
||
- 压缩包大小应该在 800MB 左右
|
||
- 必须包含target目录
|
||
- 必须立即提供下载
|
||
|
||
### 开发前检查
|
||
- 确认在正确目录
|
||
- 不修改原始设计
|
||
- 使用相对路径依赖
|