jenkins系统集成环境
最近做了一个jinkens的集成环境,过程挺艰难的,网上大部分的教程或多或少有点问题,也有可能是环境不同的原因 ,出现了各种错误,在这里做一个笔记也供大家参考,最重要的是不要照着网上的东西直接复制粘贴,先有自己的理解在做起来便可以快速解决问题,复制粘贴的话出现问题将很难拍错。
环境的话是四台centos7的虚拟机
整体结构
一个svn客户端 一个svn服务端
一个jenkins环境 一个tomcatweb端
研发人员在svn客户端提交代码到服务端,然后jenkins吧服务端的代码通过maven来弄成一个war包 存在默认的jenkins目录下
然后使用ansible来传输到指定的tomcat端。
svn服务
简单说下 一个代码管理的工具吧 一个服务端即文件库用来存储代码 ,客户端可以根据自己的代码提交或者下载更新等,具体百度即可。
服务端
centos7自带svn服务以及客户端 无需下载如果没有yum即可
能查看版本即安装成功
svnadmin create /svndir
创建svn服务的一个版本库svndir
下面有很多文件 这里暂时只要用conf
进入根目录的conf文件下
分别是权限文件 用户文件 主配置文件
权限文件:
用户组 添加一个组 多个用户之间用逗号间隔
版本目录格式 上面是[版本目录\项目目录]
下面是用户=权限 也可以是前面设置的组 组名前面加@
版本库就是svnadmin create创建的
用户文件:
左侧是用户名 右侧是密码
左侧不能留空格,所有配置文件都是如此,后面就不重复了
主配置文件
都有注释 第三个访问控制文件不太懂 有的人说要注释不然会出现权限问题,就关掉了,反正也不影响开启。
开启服务用这个命令
后面是create的目录 自己修改
客户端
客户端先创建一个存放提交文件的工作目录
先连接一下服务器看能不能去取出一个零版本 我这里是十号版本
创建一个文件 添加进入文件库 add后面接文件名
然后提交
进入服务端查看
这个目录底下 有经历的每个版本
应该是一些文件信息 以及加密的文件内容吧
然后通过checkout命令下载文件进行查看
常用的更新命令 -r是更新到第几个版本
常用命令 一个博客
https://blog.youkuaiyun.com/liuchong_lch/article/details/78192755
jenkins安装
首先要安装 jdk和tomcat环境
jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载jkd1.8,根据自己的linux系统位数选择相应的jdk版本,然后通过xftp客户端将下载的文件上传到linux目录下。
解压缩到/usr/local下
修改环境变量: vim /etc/profile
在最后一行加入
刷新文件 : source /etc/profile
Java -version 查看版本
tomcat
http://tomcat.apache.org/download-80.cgi
Tomcat 官网下载 tar.gz版本
解压到/usr/local目录下
进入bin目录 ./start.sh
打开之后关闭防火墙和selinux
进入浏览器 打开 http://172.25.200.152:8080
jenkins
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
执行两条命令 主要是更新网上的jenkins的yum源
然后 yum install jenkins -y
然后启动 /etc/init.d/jenkins start
一般可能都会报错
启动失败编辑配置文件
在下面添加自己的jdk路径即可
进入网页要输入密码
然后选择第一个默认安装即可
就可以进入jenkins的主页面了 现在先不说创建项目 还有一个maven没有安装
maven
网址
http://maven.apache.org/download.cgi
下载一个tar包即可 然后解压到目录下
配置环境变量到/etc/profile 执行source /etc/profile
执行mvn -v 出现下面的东西即可
整体的服务搭建
先修改一些全局变量
主页上找到一个系统管理
jdk的 上面随便写 下面是环境变量设置的 以下都是这样重复说了
maven的
这里是ansible 照着我写如果是yum的ansible都这样写
创建项目的时候到了
新建项目
如果没有这个maven项目需要在网上找一个插件
这里整个地方只要添加一个描述 随便写 其他不要动 有勾的也去掉
svn服务的路径 和 底下的用户
添加只要写用户名和密码即可
触发令牌 后面hook需要 是jenkins给管理员一个构建等操作的权限口令 只要有这个token即可运行构建等操作
ansible的安装 需要安装Ansible插件
playbook path就是路径
下面是hosts的路径
底下是用root用户去操作
然后点构建即可
默认war包会安装在
安装ansible也说下
设置EPEL仓库
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
使用yum安装epel
rpm -ivh epel-release-latest-7.noarch.rpm
安装完成
yum -y install ansible
检查ansible版本
ansible --version
自己编写ansible脚本
吧本地的war包传输到web应用地下 记得根据路径适当修改
然后构建即可
出的问题自己解决
中间要传输公钥给目标tomcat的主机
然后有可能出现ssh的一个错误 把ansible配置文件修改
吧这个注释去掉
构建之后的项目界面是这样的 上面构建 配置等等
下面的这个是每一次构建生成的结构 可以点进去看生成的日志文件拍错
hook钩子的 构建
用于提交代码的时候自动触发
进入svn工作目录的hooks地下
里面有很多关于触发的模板 我们使用的是提交自动构建,所以用的是post-commit 创建一个文件同名post-commit 给执行权限
这是一个curl的post请求
-u 后面跟 用户名:密码
-X POST 接请求最后加上参数token即前面创建时候设置的
这时候还会出现403错误要关闭一个全局安全锁
把这个勾选去掉
这样在svn服务端提交代码会自动执行这个脚本
以上就是我所有的安装jenkins环境的经验和心得了 ,上面可能会有很多问题 报错等等 ,不要慌张,跟着思路慢慢来,理解每一步的意思,理解整个环境的概念。多看看博客,不然照着做也没有多大意义,排错的时候笔者一般是先翻译一下错误的意思看看能不能懂,一些常见的错误如权限拒绝,没有某个文件等等,这些都是很简单的错误,照着改就行了,如果不是这种错误,需要把错误的关键部分复制到百度,我个人没有翻墙,建议一下各位用bing这个搜索软件比百度好一点。原因大家都懂得。
好了 这就是笔者的心得,有上面问题可以在底下评论,笔者看到会及时回复。