【10110】jenkins介绍,安装,发布php代码,邮件设置,插件email
【10110】jenkins介绍,安装,发布php代码,邮件设置,插件email
26.1 jenkins 介绍
26.2 jenkins 安装
26.3 了解 jenkins
26.4/26.5 发布 php 代码
26.1 jenkins 介绍
引言:
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
持续集成 (Continuous integration,简称CI)
持续交付(Continuous delivery)
持续部署(continuous deployment)
参考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
Jenkins 介绍:
官网 https://jenkins.io
Jenkins 是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于 web 界面的平台。
Jenkins是一个工具集,提供了各种各样的插件
比如获取 git 上最新的代码
比如可以帮你编译源代码
比如可以调用自定义的 shell 脚本远程执行命令
官方文档 https://jenkins.io/doc/
26.2 jenkins 安装
最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8
1、jdk 可以安装 openjdk
[root@alexis-01 ~]# yum install -y java-1.8.0-openjdk
2、安装 jenkins 的 yum 源
[root@alexis-01 ~]# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
--2020-01-10 22:30:51-- https://pkg.jenkins.io/redhat/jenkins.repo
正在解析主机 pkg.jenkins.io (pkg.jenkins.io)... 52.202.51.185
正在连接 pkg.jenkins.io (pkg.jenkins.io)|52.202.51.185|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:71
正在保存至: “/etc/yum.repos.d/jenkins.repo”
100%[=================================================================================================>] 71 --.-K/s 用时 0s
2020-01-10 22:30:53 (16.2 MB/s) - 已保存 “/etc/yum.repos.d/jenkins.repo” [71/71])
[root@alexis-01 ~]# cat /etc/yum.repos.d/jenkins.repo
[jenkins]
name=Jenkins
baseurl=http://pkg.jenkins.io/redhat
gpgcheck=1
3、安装 jenkins 的 key (gpgcheck 为 1)
[root@alexis-01 ~]# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
4、安装、启动 jenkins
[root@alexis-01 ~]# yum install -y jenkins
[root@alexis-01 ~]# systemctl start jenkins
[root@alexis-01 ~]# ps aux|grep jenkins
5、查询 admin 密码
[root@alexis-01 ~]# less /var/log/jenkins/jenkins.log
e08e8218eccd43fcbcb0f80296d30e6d
可以在 /var/lib/jenkins/secrets/initialAdminPassword 查看
[root@alexis-01 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
e08e8218eccd43fcbcb0f80296d30e6d
6、访问 http://ip132:8080/ 进行安装
7、填入密码,继续,按推荐安装
8、等待插件安装完成即可
9、如果遇到了未安装成功的情况,可以先重试以下,肯能是网络的情况,不行就跳过,待使用到时再安装
10、填写用户名密码等参数
11、开始使用 Jenkins
English转简体中文的方法
1、安装插件
Manage Jenkins / Manage Plugins, 打开Avaiable,选择locale 插件,点击“Download now and install after restart”
勾选“Restart Jenkins when installation is complete and no jobs are running“
2、设置语言
Manage Jenkins / Configure System找到Locale
输入Default Language为zh_CN (注意:不是zh-CN)
勾选“Ignore browser preference and force this language to all users“
Save
26.3 了解 jenkins
rpm -ql jenkins
程序主目录安装目录 /var/lib/jenkins,重要的目录plugins插件目录
配置文件 /etc/sysconfig/jenkins
日志目录 /var/log/jenkins
备份可以拷贝程序主目录安装目录到新的机器上去
26.4/26.5 发布 php 代码任务
“系统管理”-—>“管理插件”—>“已安装”
检查是否有“Git plugin”和“Publish Over SSH”两个插件,如果没有,则需点击“可选插件”,找到它并安装
安装好两个插件后,点击“系统管理”—> “系统设置”
下拉,找到“Publish Over SSH”
事先在一台 linux 服务器上生成一对私钥密钥 (cat id_rsa)
ssh-keygen -f /root/.ssh/jenkins //可以设置密码,也可不设置
[root@alexis-01 ~]# ssh-keygen -f /root/.ssh/jenkins
Generating public/private rsa key pair.
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/jenkins.
Your public key has been saved in /root/.ssh/jenkins.pub.
The key fingerprint is:
SHA256:/QkkuWi4bSktsFCO4ADFIDgBG+eyaLiKypcme8eUqxs root@alexis-01
The key's randomart image is:
+---[RSA 2048]----+
|X=o |
|==. . |
|=.o o . |
|** . . = |
|*oo . + S o |
|.o o B . o . |
|. .EB * o |
|+. =.B |
|=o*o+ |
+----[SHA256]-----+
“Passphrase”填写设置的密码, “Path to key”留空,“key”粘贴/root/.ssh/jenkins文件内容
点 SSH Servers ——> 新增,点击左下角“增加”,SSH Server,name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/
公钥需要拷贝到远程机器的 /root/.ssh/authorized_keys 下
设置完成可以测试一下连接
如果是多台 web server,继续点击“增加”,重复以上操作
点左下角的“保存”
点击“新建”,任务名称自定义,比如test,选择“构建一个自由风格的软件项目”点击下方的“确定”
描述可以自定义
“源码管理”选择 “Git”
“Repository URL”填写你项目的git地址,如果是公共项目可以不设置下面的参数,直接填写一个git地址即可,若是私有项目,需要填写认证信息,比如可以选择 “SSH Username whith private key”,然后设置Username以及private key
“Branches to build” 默认为*/master,意思是发布的分支为master,保持默认
“构建触发器”和“构建环境”留空
“构建”,选择 “Send files or execute commands over SSH”
SSH Server,
Name 选择对应的服务器,Transfers,
Source files填写**/**,表示全部文件
Remove prefix可以指定截掉的前缀目录,这里留空即可,
Remote directory指定远程服务器上代码存放路径,比如/data/wwwroot/www.aaa.com,
Exec command为文件传输完成后要执行的命令,比如可以是更改文件权限的命令,设置完成后点击 “Add Transfer Set”,如果还有另外的机器,可以点击 “Add Server”重复以上操作
最后点击左下角的“保存”
完成以上操作后,就可以使用这个刚刚创建的任务去工作了。
点击左面的“立即构建”,就能把git上的代码发布到指定的服务器上。
点击左下角的#1/#2… ,然后再点击 “Console Output”可以查看输出日志
26.6 jenkins邮件设置
26.7 插件email-ext
26.8 破解jenkins管理员密码
26.6 jenkins邮件设置
系统管理 -> 系统设置 -> Jenkins Location 先设置系统管理员邮件地址,这里的邮件地址需要和后续要设置的发邮件地址一致。
往下拉,找到“邮件通知”那一栏
填写SMTP服务器,点右侧的高级,打勾“使用SMTP认证”,填写用户名密码,如果使用的是ssl协议,还需要在这里打勾,smtp端口默认为25
可以打勾“通过发送测试邮件测试配置”,然后填写接收邮件的地址,点右侧的Test configuration
然后就是到已经构建过的job里去配置接收邮件的地址了。在最下面“构建后操作”那一栏,找到E-mail Notification,Recipients填写收邮件人
这个收件人只会在job构建失败时才能收到邮件,要想成功失败都通知到人,可以安装配置插件email-ext
26.7 插件email-ext
插件名字Email Extension Plugin,默认已经安装
系统管理->系统设置->Extended E-mail Notification
(邮件通知就可以关掉了)
填写SMTP server,点击Use SMTP Authentication,填写用户名、密码、SMTP port等
还需到对应构建任务中去配置一下,下拉到“构建后操作”
点击“增加构建后操作步骤”,选择“Editable Email Notification”,其中Project Recipient List为接收邮件的收件人地址,可以在默认内容后面增加额外的收件人邮箱,用逗号分隔
点击右下角的“Advanced settings”,定位到“Triggers”触发器,然后点击下方的“Add Trigger”,可以增加发邮件的条件。
参考文章http://www.cnblogs.com/zz0412/p/jenkins_jj_01.html
26.8 破解jenkins管理员密码
cd /var/lib/jenkins/users/admin
vim config.xml //定位到password那一行
删除改行,改为
<passwordHash>#jbcrypt:$2a101010pre7I4liZFdF6ZE05QntTOoKoKa5pCUumaFO/mMzMoH09bNBzyj6O
重启一下jenkins
新密码为 arslinux.com
0条评论