搭建Gitlab+Maven+Jenkins持续集成环境

有什么用? 为什么需要持续集成呢?

1.因为在开发的过程中,用于阶段性地构建出产品。
这样可以更加清楚地审视产品的不足之处
2.由于在某些情况下,例如有紧急bug的时候,研发的版本更新可能很频繁,
部署持续集成环境,可以减少每次部署所花费的时间

化整为零:

1.这套组合可以分成源码管理编译构建远程部署
2.源码管理常见的有gitlabSVN
3.编译构建是针对编译型语言的。
此处针对Java语言使用Maven针对IOS则是使用其他编译工具。
4.远程部署由jenkins提供。

实验拓扑 主机名主机地址角色
node1   192.168.31.201   Gitlab-8.17.3  
node2   192.168.31.202   Maven-3.3.9、Jenkins-2.49、Git-2.12.0、JDK1.8  
node4   192.168.31.204   tomcat9  
安装Gitlab

Gitlab的作用:作为源码管理的角色。
Gitlab实际上是整合了nginx、git等多种软件提供了一个可视化的界面。
包含git命令的基本功能,但相比于git命令更加简单易用。

1.信任 GitLab 的 GPG 公钥: [root@bc ~]# curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null 2.配置一个清华大学的yum源 [root@bc ~]# 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和必要的依赖 [root@bc ~]# yum makecache [root@bc ~]# yum install gitlab-ce [root@bc ~]# yum install curl policycoreutils openssh-server openssh-clients [root@bc ~]# systemctl enable sshd [root@bc ~]# systemctl start sshd [root@bc ~]# yum install postfix [root@bc ~]# systemctl enable postfix [root@bc ~]# systemctl start postfix 4.初始化gitlab [root@bc ~]# gitlab-ctl reconfigure 5.找到应该访问的地址 [root@bc .ssh]# vim /etc/gitlab/gitlab.rb external_url 'http://node1.bc.com'

注意:
如果直接访问192.168.31.201,只能访问到一个空的nginx访问页面。
所以,最好能够使用域名解析来访问本地的gitlab网站。

或者修改host文件: C:\Windows\System32\drivers\etc\hosts 192.168.31.201 node1 node1.bc.com bc.com 正常访问页面:

搭建Gitlab+Maven+Jenkins持续集成环境


使用域名访问

错误访问的页面:

搭建Gitlab+Maven+Jenkins持续集成环境


直接访问ip地址会这样!

安装maven

Maven的作用:Maven负责java语言的编译和打包
换个角度来说,Maven相当于Java中的make命令。
同类型的工具有Ant,但是Ant不提供解决依赖关系的功能

官方地址: 1.获取安装包:还是清华的镜像。 [root@node2 ~]# wget 2.解压tar包 [root@node2 ~]# tar apache-maven-3.3.9-bin.tar.gz -C /bin/apache-maven-3.3.9/ [root@node2 ~]# ln -sv /bin/apache-maven-3.3.9/ /bin/maven 3.定义变量,输出执行路径 [root@node2 ~]# vim /etc/profile.d/maven.sh export M2_HOME=/bin/maven export MAVEN_HOME=/bin/maven PATH=$M2_HOME/bin:$PATH [root@node2 ~]# source /etc/profile.d/maven.sh 4.测试能否正常运行 [root@node2 ~]# 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

JENKINS的功能:
1.通过git命令从Gitlab中拉取源码
2.让maven进行编译并打包
3.把打好的包发送到目标主机
4.执行部署脚本。

1.获取安装包 #安装方式有多种,包括rpm、war包启动、dockerfile。此处为war包。 [root@node2 ~]# wget 2.启动方式 #方法1:直接使用jvm启动 [root@node2 ~]# java -jar jenkins.war #方法2:把war包放置到tomcat的应用目录并启动,让其自动解压 [root@node2 ~]# cp jenkins.war /usr/local/tomcat/webapps/ [root@node2 ~]# startup.sh

如果下载lts版提示找不到cloudbees-folder,下载weekly版的
stackOverFlow说初始化jenkins的时候提示找不到cloudbees-folder是bug

编译安装新版的git

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9b3d97e97db1133fde1cb6e0e7d15cf7.html