其实一直在用 github、gitlab、jenkins,但是 github 时不时的抽风, gitlab 的 runner 套 Docker in docker 的方法委实很难用。
所以 CI/CD 这一块反倒挺喜欢阿里云效这种简便易行的。但确实找不到其他合适且类似的软件。
从 V2EX 上看到一个老哥发的 onedev,是一个一站式的开源软件,这不就试试先
以 centos7 为例,安装过程如下:
一、安装 java 1.8 版本
1rpm -ivh jdk-8u201-linux-x64.rpm
二、安装 git 高版本
缺省 centos7 和 epel 带的 git 版本太低,不符合要求,得加个新的源装新版本
1yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm
2yum -y install git curl
三、安装配置 onedev
https://github.com/theonedev/onedev
下载压缩包,然后解压运行 bin/server.sh start ,很简洁,不错!
运行完打开 http://192.168.86.101:6610 进行初始配置,就两步就 ok 了。
三、例子
我们是要在正式生产环境用的,所以在 projects 新建一个项目 spring-boot,以 spring-petclinic 为例:
然后到源代码目录下
1git clone https://github.com/spring-projects/spring-petclinic.git
2cd spring-petclinic
3./mvnw package
4
5cd spring-petclinic
6
7git init
8git add .
9git commit -m "Spring boot demo project"
10
11git remote add origin http://192.168.86.101:6610/spring-boot
12git push --set-upstream origin master
这样就可以在 spring-boot 里看到代码了
然后看上图,有个紫色灯泡,Enable build support by adding.onedev-buildspec.yml
,点那个链接就可以进入一系列 build 、push、deploy 的 pipeline 了。
友情提示,单机的话,机器需要装 onedev 的 agent,然后还有 docker,就可以build了。用起来感觉跟云效差不多,很不错。