Jenkins
Jenkins
Jenkins是一个独立的开源软件项目,是基于Java开发的一种可扩展的持续集成(CI)工具,用于监控持续重复的工作,自动的构建和测试软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能
一、安装
1.安装jdk1.8并为其配置yum源
# yum install -y java-1.8.0-openjdk //安装jdk 1.8
# vi /etc/yum.repos.d/jenkins.repo //配置yum源
添加如下内容
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
#rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
//检测密钥
2.安装并成功登录jenkins
# yum -y install epel-release
# yum -y install daemonize
# yum install -y jenkins //安装jenkins
# systemctl start jenkins //启动jenkins
# netstat –ltnp //查看Jenkins是否启动(8080端口是否监听)
# systemctl stop firewalld //关闭防火墙
#less /var/log/jenkins/jenkins.log //查看安装日志,查询admin密码
登录网站
http://ip:8080
3.自定义jenkins
3.1安装插件
登陆后,会出现如下页面,这里涉及到jenkins的插件安装,建议选择“安装推荐的插件”,点击“安装推荐的插件”后,进入“新手入门”页面,等待全部插件安装成功即可。
2.创建第一个管理员用户
插件安装完成后,会出现“创建第一个管理员用户”页面,填写正确信息后,点击“保存并完成”,这样第一个管理员用户就创建完毕了,如下图:
二、Jenkins相关配置及代码发布
1Jenkins发布php代码
先进入“系统管理”,再进入“管理插件”,在“已安装”中检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有则需要安装,到“可选插件”中搜索并安装
插件完成后,点击 “返回首页”回到服务器中重启 jenkins后,登录
#systemctl restart jenkins //重启jenkins
1.2配置Publish Over SSH
首先需要在服务器上/.ssh目录下生成一对密钥,命令如下:
# cd ~/.ssh
# ssh-keygen -t rsa
检查是否生成成功,命令如下:
# ls -al
总用量 8
drwx------. 2 root root 38 11月 18 10:39 .
dr-xr-x---. 6 root root 269 11月 18 10:38 ..
-rw-------. 1 root root 1675 11月 18 10:39 id_rsa
-rw-r--r--. 1 root root 408 11月 18 10:39 id_rsa.pub
密钥生成成功后,登录Jenkins,点击“系统管理”然后点击“系统设置”,下拉找到“Publish Over SSH”将刚才生成的服务器的私钥填入 “Publish over SSH” 中的“key”,如下图:
错误记录:提示 .ssh目录不存在
解决方案:创建~/.ssh目录,并把目录权限设置为700
# mkdir ~/.ssh
# chmod 700 ~/.ssh
1.3 增加SSH Server
“Publish over SSH”配置完成后,为了实现代码的成功发布,我们需要先查看并复制服务器的公钥
# cat .ssh/id_rsa.pub
将复制的服务器公钥,添加到需要添加“SSH Servers”的远程机器的.ssh/authorized_keys目录下,若要增加服务器的“SSH Servers”,则需要将服务器的公钥添加到服务器的.ssh/authorized_keys目录下
# vi .ssh/authorized_keys
在服务器上尝试登录远程机器,
尝试登陆成功后,登录jenkins,进入“Manage Jenkins”,点击“Configure System”,下滑找到“SSH Servers”,填写所需要连接机器的各项设置,然后点击“Test Configuration”,显示“success”,即成功
1.4 构建新的任务
点击新建ltem
输入任务名称,并选择构建软件项目的风格,应实验要求这里选择自由风格,如下图:
填写“描述”
配置“源码管理”,选择管理源码的方式(这里选择git),将代码仓库的地址填入“Repositories URL”中,若代码仓库是私有仓库,还需要点击“添加”来添加凭证,其他保持默认即可,如下图:
配置“构建触发器”“构建环境”,应实验要求此处保持默认即可
配置“构建”,此处用到了我们之前安装的 “publish over ssh” 插件,首先增加名为“Send files or exeute commands over SSH”的构建步骤,如下图:
然后在“Name”下选择机器名称(此处SSH Server个数由第3步中添加的数量决定);“Source files”表示要发布那些代码,在其下填写“**/**”(表示全部);“Remote directory”表示把代码发送到远程机器的位置,填写“/tmp/Jenkins_test”(此处可自定义);“Exec command”下填写想要执行的命令,此处自定义可以为空,如下图:
点击“高级”,出现如下页面,其中“Pattern separator” 设置模式分隔符,“Exec timeout(ms)” 设置超时时间,此处保持默认即可,如下图:
通常情况下我们需要添加多个机器来进行任务,点击左下角“Add Server”来添加多个机器,如下图:
完成以上设置后,应用保存即可
1.5将代码发布到对方机器
首先进入任务,然后点击“立即构建”,查看“控制台输出”,最后登录各机器查看代码发布是否成功,如下图: