# dpm **Repository Path**: MM-Q/dpm ## Basic Information - **Project Name**: dpm - **Description**: dpm 是一个基于 Go 语言开发的命令行工具,用于简化软件的构建、安装和版本管理。它支持多种操作系统和架构,提供灵活的配置文件支持,能够满足不同开发环境下的需求。 - **Primary Language**: Go - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-06 - **Last Updated**: 2025-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # dpm - 构建管理工具 ## 项目简介 `dpm` 是一个基于 Go 语言开发的命令行工具,用于简化软件的构建、安装和版本管理。它支持多种操作系统和架构,提供灵活的配置文件支持,能够满足不同开发环境下的需求。 ## 功能描述 - **安装软件**:通过配置文件指定安装路径、权限和用户,支持备份操作。 - **构建软件**:支持多平台构建,可注入 Git 信息,支持自定义输出文件名和目标平台。 - **版本管理**:提供版本信息查询,支持初始化版本信息文件。 - **初始化配置文件**:提供默认模板,支持初始化构建配置、安装配置和版本信息文件。 ## 安装步骤 1. **克隆项目**: ```bash git clone https://gitee.com/MM-Q/dpm.git cd dpm ``` 2. **安装依赖**: ```bash go mod tidy ``` 3. **编译并运行**: ```bash # Windows环境选择 ./build.bat # Linux环境选择 sh build.sh # 运行 ./dpm ``` ## 使用方法 ### 帮助信息 运行以下命令查看帮助信息: ```bash dpm -h ``` ### 安装软件 1. 创建安装配置文件 `install.yaml`,示例内容如下: ```yaml name: "your-app" version: "1.0.0" platform: "linux/amd64" defaultPerms: "0755" defaultUser: "your-username" ``` 2. 运行安装命令: ```bash dpm install -c install.yaml ``` ### 构建软件 1. 创建构建配置文件 `build.yaml`,示例内容如下: ```yaml build: name: "myapp" # 构建的项目名称, 要和go.mod中的module名称一致 version: "v0.0.1" # 构建的版本号 # 限制平台 platform: # 限制操作系统 os: - "linux" - "windows" #- "darwin" # 限制架构 arch: - "amd64" #- "arm64" # 构建环境变量 environment: CGO_ENABLED: "0" # 是否启用CGO # 项目根目录, 一般为当前目录 main_path: "./" # 输出目录。注意: 不能配置为绝对路径 output_dir: "dist" # 入口文件路径, 未指定入口文件时,默认使用根目录下./main.go。若入口文件位置或名称不同,请在配置中指定路径,如./cmd/main.go。 entry_path: "./main.go" # go编译器路径, 默认使用path环境变量, 可以指定具体版本路径 go_root: '' # 构建目标(多平台支持) targets: - os: "linux" # 目标操作系统 arch: "amd64" # 目标架构 #output_name: "myapp-linux-amd64" # 输出文件名, 不指定则使用默认名称: myapp-- - os: "windows" # 目标操作系统 arch: "amd64" # 目标架构 #output_name: "myapp-windows-amd64.exe" # 输出文件名, 不指定则使用默认名称: myapp-- ``` 2. 运行构建命令: ```bash dpm build -c build.yaml ``` ### 初始化配置文件 运行以下命令初始化默认配置文件: ```bash dpm init -type build # 初始化构建配置文件 dpm init -type install # 初始化安装配置文件 dpm init -type version # 初始化版本信息文件 ``` ### 查询版本信息 运行以下命令查询版本信息: ```bash dpm version ``` ## 依赖关系 - Go 1.23.4 或更高版本 - Git(如果需要注入 Git 信息)