简介
什么是持续集成?
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
好处
节省人力成本 加快软件开发进度 实时交付
整体流程
成员通过git提交代码->持续集成引擎来去代码并使用构建工具自动构建->发布项目
重要组成部分
git gitlab jenkins 持续集成引擎 maven 构建工具 sonarqube 代码质量管理 junit 自动执行单元测试 JDK Tomcat
安装jdk+maven
版本说明
jdk1.8
maven
安装步骤
- 解压
tar -zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
tar -zxvf apache-maven-3.5.3-bin.tar.gz -C /usr/local/
- 配置环境变量
vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_91
export JAVA_HOME
CLASSPATH=.:$JAVA_HOME/lib
export CLASSPATH
PATH=$PATH:$JAVA_HOME/bin:$CLASSPATH
export PATH
MAVEN_HOME=/usr/local/apache-maven-3.5.3
export MAVEN_HOME
PATH=$PATH:$MAVEN_HOME/bin
export PATH
- 激活配置
source /etc/profile
nexus的安装
下载nexus并解压
tar -zxvf nexus-3.12.1-01-unix.tar.gz -C /usr/local/
修改配置文件
vim /usr/local/nexus-3.12.1-01/etc/nexus-default.properties
- 修改ulimit(这步我暂时没有配置)
# vim /etc/security/limits.conf
// 新增
soft nofile 65535
hard nofile 65535
- 启动(非root用户,这里添加一个nexus用户)
useradd nexus
- 权限交给nexus用户
chown -R nexus:nexus /usr/local/nexus-3.12.1-01
- 切换用户并启动
su nexus
/usr/local/nexus-3.12.1-01/bin/nexus start
- 查看进程是否启动成功
ps aux | grep nexus
// 杀死进程:kill <pid>
- 配置开机自启动
su - nexus -c '/usr/local/nexus-3.12.1-01/bin/nexus start'
- 浏览器打开8081端口
代码质量管理平台--sonarqube安装
依赖
mysql 5.6 or 5.7 jdk 1.8
下载
解压sonarqube并移动到/usr/local
unzip sonarqube-6.7.4.zip
mv sonarqube-6.7.4 /usr/local/
mysql里新增数据库
CREATE DATABASE sonar DEFAULT CHARACTER SET utf8;
修改sonarqube相应的配置
vim /usr/local/sonarqube-6.7.4/conf/sonar.properties
sonar.jdbc.username=root
sonar.jdbc.password=***
sonar.jdbc.url=... ...
sonar.web.host=0.0.0.0
sonar.web.context=/sonar
启动
/usr/local/sonarqube-6.7.4/bin/linux-x86-64/sonar.sh start
- 界面访问9000端口