|
一、持续集成的概念
Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,功能包括:
- 持续的软件版本发布/测试项目。
- 监控外部调用执行的工作。1、持续集成
持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并进程自动化测试 。
2、持续交付
持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境。
3、持续部署
在持续交付的基础上,把部署到生产环境的过程自动化,持续部署和持续交付的区别就是最终部署到生产环境是自动化的。
二、安装 jenkins
jenkins 的安装有很多种,具体可以参照官方文档 https://jenkins.io/doc/book/installing/ ,我这里使用 war 包,放在 tomcat 容器里面启动。
1、安装jdk
请安装 jdk1.8或者更高的版本。
2、安装tomcat
tomcat我用的是7的版本。
3、安装jenkins
去官网下载我们的版本,http://mirrors.jenkins.io/war-stable/latest/jenkins.war 。
启动之后,我们看到在家目录下面生成一个 .jenkins 目录,我们的配置数据都是存放在这里的。
三、插件安装
1、初始化
第一次访问的时候会有一个重置密码界面,我们按照他的要求进行即可。
因为大家众所周知的原因,服务器被墙了,我们无法安装插件,跳过即可。
最后一步,我们设置管理员账户密码就可以了。
2、插件服务器
登录到系统里面,点击系统管理--->管理插件--->高级,把里面的升级地址改成如下地址。
http://ftp.tsukuba.wide.ad.jp/software/jenkins/updates/current/update-center.json
这样我们就可以在线安装插件了。
3、安装 Git plugin
首先我们需要在 jenkins 所在服务器上面安装 git 客户端,可以 yum 安装,也可以编译安装新版本。
静静的等待安装完成。
4、安装 Maven Integration plugin 插件
目前我们创建项目还是没有 maven 的,因为我们还没有安装插件。
现在我们点击新建,就可以看到 maven 项目的构建啦。
5、安装 ssh 插件
由于后面我们还需要把打好的包分发到远程的服务器.所以这里还要再安装一个Publish Over SSH插件.这样的话,我们就可以在jenkins配置中直接使用远程拷贝了,把包直接拷贝到远程服务器。我这里是已经安装过了。
四、jenkins 配置
1、配置 jdk 工具
jdk1.8我们已经事先安装好了,路径是 /usr/java/default/。点击系统管理--->全局工具配置。
2、配置 maven 工具
去 maven 官网下载软件,直接解压在 /usr/local 路径下面,我下载的地址是 http://mirrors.shuosc.org/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz 。
点击系统管理--->全局工具配置。
3、配置 Git 工具
点击系统工具--->全局工具配置。
4、配置邮件服务器
点击系统管理--->系统设置。
5、配置 Publish over SSH
点击系统管理--->系统设置。
因为我们的很多数据通过 ssh 推送到远端的服务器,所以我们要配置一下服务器无密码互信。
Passphrase: 刚才创建密钥的时候,输入的密码,如果没有输入密码,这里留空。
Path to key: 私钥的保存位置,比如我们的 /root/.ssh/id_rsa,这一项可不写,可以直接把key的内容填到下面一栏中,两者可二选一。
Key:私钥的内容,如果上面的没写的话,这里一定要写和上面的选项是二选一的,也可以2个都给。
SSH Servers:远程服务器相关配置,也就是我们要把程序发布到的那一台机器的相关配置。
Name:起一个名字,方便后面配置发布的时候,选择服务器。
Hostname:远程服务器的IP地址,如果写远程的主机名的话,要在jenkins的hosts文件中加映射。
Username:刚才把公钥拷贝以远程服务器的时候的那个用户名,即互信的时候 ssh-copy-id 命令后面跟的用户名,我们这里使用的 root。
Remote Directory:要把文件发布到远程机器的哪一个目录。
以上的增加是统一的,就是所有被发布的机器都要配置了无密码通信,我们也可以针对单一的服务器进行配置,只需要填写好特定服务器的账号密码即可。
点击保存即可,我们在后面构建项目的时候可以直接选择被构建的服务器。
|
|
|
|
|
|
|