搭建Gitlab+Maven+Jenkins为(java)开发项目做持续集成环境

@努力的小王  March 23, 2018

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",jenkins默认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.pngQQ截图20180323131327.pngQQ截图20180323131907.png
1710141303939610.jpg
171014130393968 (1).jpg
卸载jenkins

1.rpm -e jenkins
2.会有一些残留的文件分散在各地

find / -iname jenkins | xargs -n 1000 rm -rf


添加新评论