项目简介
Dubhe轻量级持续集成系统旨在解决公司服务器资源不足的问题,同时便于与公司内部系统结合。它参考了Jenkins、Drone、GitLab等优秀项目,采用Go语言编写,以Docker作为构建环境,能与Git仓库集成,支持对多种语言项目进行持续集成操作。
项目的主要特性和功能
- 仓库管理:与Git仓库对应,类似Jenkins中的Item,便于管理项目仓库。
- 凭据管理:可添加Git仓库认证所需的秘钥等信息。
- 支持多工具和语言:利用Docker构建环境,支持Maven、Gradle、npm等构建工具,以及Java、Python、Go等编程语言。
- 灵活配置:允许用户通过YAML配置文件定义构建流程,支持条件构建、并行构建。
- 日志与状态管理:提供构建日志实时查看与存储功能,可查询和管理构建状态。
- 可定制通知:构建完成时可通过Webhook、邮件、Slack等方式发送通知。
- 扩展性强:采用模块化设计,支持插件和自定义扩展。
安装使用步骤
安装
- 确保系统安装了Go 1.13以上版本和Docker 1.17+版本。
- 进入项目目录中的
cmd
,执行以下命令(Windows环境),若为Mac或Linux环境不需要带后缀.exe
:bash go build -o dubhe.exe
- 利用生成的执行文件执行以下命令,
-c
或者-config
指定配置文件:bash dubhe.exe -c <配置文件>
配置文件模板如下: ```toml workspace = "E:\dubhe-workspace"
capacity = 2
[http] address = ":8000"
[server] address = ":9090" network = "tcp"
[database] debug = false db_type = "sqlite3" dsn = "dubhe.db" max_lifetime = 7200 max_open_conns = 150 max_idle_conns = 50
[log] level = 5 format = "nested" info_path = "" error_path = ""
[jwt] signing_key = "gJbQry0vb02IjHQyKWlxQwZAwwZ7IC0e" expired = 7200
[super_user] nickname = "Admin" username = "admin" password = "admin" ```
使用
- 在相关项目根目录编写
.dubhe.yml
,以下是样例: ```yaml kind: pipeline type: docker name: default
steps: - name: test image: maven:3.6.3-openjdk-8-slim commands: - mvn test volumes: - name: repository path: /root/.m2
-
name: build image: maven:3.6.3-openjdk-8-slim commands:
- mvn -U clean package -Dmaven.test.skip=true volumes:
- name: repository path: /root/.m2
-
name: verification image: alpine:latest commands:
- if [ -e ruoyi-admin/target/*.jar ]; then exit 0; else exit 1; fi
volumes:
- name: repository
host:
path: /Users/janyd/.m2
``
2. 在
Dubhe`中添加仓储并配置好Git代码,提交代码到Git仓库,Dubhe将自动触发构建。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】