1.持续集成的优点 1.因为在开发的过程中,用于阶段性地构建出产品。 这样可以更加清楚地审视产品的不足之处。 2.由于在某些情况下,例如有紧急bug的时候,研发的版本更新可能很频繁, 部署持续集成环境,可以减少每次部署所花费的时间。 ******1.这套组合可以分成源码管理、编译构建、远程部署 2.源码管理常见的有gitlab、SVN 3.编译构建是针对编译型语言的。 此处针对Java语言使用Maven、针对IOS则是使用其他编译工具。 4.远程部署由jenkins提供。 二主要搭建过程 因为公司生产环境需要,我准备了三台戴尔r730服务器 s1 安装gitlab(作为源码管理的角色。 Gitlab实际上是整合了nginx、git等多种软件提供了一个可视化的界面。 包含git命令的基本功能,但相比于git命令更加简单易用。) s2 安装git客户端(推送代码)Maven(编译java代码)Jenkins(1.通过git命令从Gitlab中拉取源码 2.让maven进行编译并打包 3.把打好的包发送到目标主机 4.执行部署脚本。) s3 解析java代码的tomcat 三台服务器需关闭selinux和disable firewalld.service 三安装和基础配置 1.信任 GitLab 的 GPG 公钥: curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null 2.配置一个清华大学的yum源 vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=gitlab-ce baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 repo_gpgcheck=0 gpgcheck=0 enabled=1 gpgkey=https://packages.gitlab.com/gpg.key 3.安装gitlab和必要的依赖 yum makecache && yum install -y gitlab-ce yum install curl policycoreutils openssh-server openssh-clients systemctl start sshd && systemctl start postfix yum install -y postfix systemctl enable sshd && systemctl enable postfix 4.初始化gitlab gitlab-ctl reconfigure 5.找到应该访问的地址 external_url 'http://node1.bc.com' 根据实际环境修改访问地址 s四 安装maven yum install java-1.8.0-openjdk -y yum install curl* expat* gettext* openssl* perl* gcc* zlib make -y yum groupinstall "Development Tool" -y 安装依赖关系 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key yum -y install jenkins 下载安装 tar zxvf git-2.12.0.tar.gz cd git-2.12.0 ln -sv /bin/apache-maven-3.3.9/ /bin/maven 软连接配置 vim /etc/profile.d/maven.sh export M2_HOME=/bin/maven export MAVEN_HOME=/bin/maven PATH=$M2_HOME/bin:$PATH source /etc/profile.d/maven.sh 定义环境变量 mvn -v 测试如出现以下代码表示成功,反之检查环境变量 Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00) Maven home: /bin/maven Java version: 1.8.0_111, vendor: Oracle Corporation Java home: /usr/java/jdk1.8.0_111/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix" 五安装jenkins yum install java yum search openjdk 检查java及java虚拟机的版本 wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keyxiaza 下载源及导入公钥 yum -y install jenkins 主要配置 cat /etc/sysconfig/jenkins | more JENKINS_HOME="/var/lib/jenkins",存放jenkins 配置及工作文件 JENKINS_PORT="8080",j**enkins默认8080端口,如果把gitlab和jenkins安装在一台服务器,此时端口一定要修改,不然gitlab会无法安装** 配置文件夹 这个位置挺重要 ls /var/lib/jenkins 有jobs、logs、plugins等文件夹及文件若干。勿乱删 这次主要看了看plugins文件夹,所有插件都在里面,如插件ssh-slaves,会有一个ssh-slaves文件夹及ssh-slaves.jpi。 当某个插件未安装成功时,会有一个以.tmp结尾的文件 日志 logs相关两个位置: /var/lib/jenkins/logs有logs,暂时看来没记录啥,以后再追。 /var/log/jenkins/jenkins.log,记录了插件安装等日志,失败信息原因等很清晰,重要 1.启动服务 systemctl start jenkins.service 2.浏览器访问 IP地址:端口 3.获取管理员密码 按提示,去/var/lib/jenkins/secrets/initalAdminPassword,复制贴进去,continue 4.选择安装方式 默认推荐吧,左边的。第二个自定义插件,如果知道需要什么插件,插件都是干嘛的,再选custom吧 ![QQ截图20180321143138.png](http://www.xwblog.club/usr/uploads/2018/03/4211411559.png)![QQ截图20180323131327.png](http://www.xwblog.club/usr/uploads/2018/03/3454312327.png)![QQ截图20180323131907.png](http://www.xwblog.club/usr/uploads/2018/03/2317220818.png) ![1710141303939610.jpg](http://www.xwblog.club/usr/uploads/2018/03/1323004221.jpg) ![171014130393968 (1).jpg](http://www.xwblog.club/usr/uploads/2018/03/833348247.jpg) 卸载jenkins 1.rpm -e jenkins 2.会有一些残留的文件分散在各地 find / -iname jenkins | xargs -n 1000 rm -rf