jenkins介绍、安装,发布php代码,邮件设置,插件email-ext,破解jenkins管理员密码...

 

26.1 jenkins介绍
26.2 jenkins安装
26.3 了解jenkins
26.4/26.5 发布php代码
26.6 jenkins邮件设置
26.7 插件email-ext
26.8 破解jenkins管理员密码

扩展:
1 请同学们自行创建一个私有git仓库,把discuz代码push进去,并整合到你的jenkins任务里
2 动手更改若干php代码文件,然后发布到线上
3 思考一下,如何回滚?

 

 

 

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
持续集成 (Continuous integration,简称CI)
持续交付(Continuous delivery)
持续部署(continuous deployment)
以上参考 http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html

b7f470728940cf7846b8ff2c6d0b066ed3a.jpg

一、 jenkins介绍

官网 https://jenkins.io
Jenkins是一个开源的、可扩展的持续集成、交付、部署(软件/代码的编译、打包、部署)基于web界面的平台。
Jenkins是一个工具集,提供了各种各样的插件
比如获取git上最新的代码
比如可以帮你编译源代码
比如可以调用自定义的shell脚本远程执行命令
官方文档 https://jenkins.io/doc/

二、Jenkins安装

最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8

安装jdk1.8,此处安装openjdk

yum install -y java-1.8.0-openjdk

安装jenkins的yum源

wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
cat /etc/yum.repos.d/jenkins.repo

8274c0bc14d281350b37c778d740846e89e.jpg

安装jenkins的key

rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key

安装jenkins

yum install -y jenkins
systemctl start jenkins
ps aux |grep jenkins
less /var/log/jenkins/jenkins.log //安装时产生的日志,查询admin密码,做初始化安装使用

还可以到这个目录查看密码: /var/lib/jenkins/secrets/initialAdminPassword

fbae2688335a4150b84bcb92454804b6e5a.jpg

浏览器访问 http://192.168.216.3:8080/ 进行安装,把刚刚的密码粘贴进去

1bed354efdc5f36a699f6ee870b6dfecc69.jpg

选择推荐的插件安装

271d328a832d35f63c4a11bff486e1d4411.jpg

安装完成创建管理员账号

0479782deaf710cdaa8a2b8e6df27f64de2.jpg

三、了解jenkins

Jenkins相关目录

rpm -ql jenkins

587b3b597b3aef65283f27cc624810ad499.jpg

1.安装目录,即程序的主目录,备份时拷贝走改目录即可:    /var/lib/jenkins
jobs即页面上创建的任务,生成任务目录
nodes多节点时用到
plugins 插件所在目录
secrets 密码秘钥相关目录

2.配置文件 /etc/sysconfig/jenkins
3.日志目录 /var/log/jenkins

四、Jenkins发布php代码

"系统管理(Manage Jenkins)"->"管理插件(Manage Plugins)"->"已安装"
检查是否有"Git plugin"和"Publish Over SSH"两个插件,如果没有,则需点击"可选插件",找到它并安装
安装完成直接在服务器中重启服务:    systemctl restart jenkins

事先在一台linux服务器上生成一对密钥
cd /root/.ssh/
如果生成过,则不需要一下操作
ssh-keygen -f /root/.ssh/jenkins //生成新的秘钥对,文件名是jenkins,也可以用现有的,可以设置密码,也可不设置

7e808c7a7659aacc16426f5d6361d1bd832.jpg

安装好两个插件后,点击"系统管理" -> "系统设置(Configure System)"
下拉,找到"Publish Over SSH"

"Passphrase"填写设置的密码或为空, "Path to key"留空,"key"粘贴/root/.ssh/jenkins文件内容或者id_rsa的内容,即私钥。
左下角,SSH Server定义发布到哪台机器上,点击"增加",name自定义,Hostname填写线上web服务器的ip,Username填写root,Remote Directory填写/(根)。
如果是多台web server,继续点击"增加",重复以上操作 点左下角的"保存"

5f2083b1203e442e6a2ee3490788a0a7393.jpg

843d107f7768992b667bf59763fa5e93bea.jpg

在002机器上 vim authorized_keys,把001机器上的公钥复制过去,也要把公钥放到本机的authorized_keys 中去。

4d175998598fdfc18d4a6aff9cacbc6385d.jpg

新建任务,任务名称自定义,比如test,选择"构建一个自由风格的软件项目"点击下方的"确定"

描述,自定义
"源码管理"选择 "Git"
到代码管理仓库获取代码:    https://git.coding.net/aminglinux/aminglinux-book.git    此处使用课件中地址book.aminglinux.com
"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指定远程服务器上代码存放路径,比如/tmp/jentest,
Exec command为文件传输完成后要执行的命令,比如可以是更改属主属组的命令(chown -R nobody:nobody /tmp/jentest),设置完成后点击 "Add Transfer Set",如果还有另外的机器,可以点击 "Add Server"重复以上操作
最后点击左下角的"保存"
完成以上操作后,就可以使用这个刚刚创建的任务去工作了。

0c0eb564c012056caa7edd739f3e1b2dc02.jpg

进入任务后,点击左面的"立即构建(Build Now)",就能把git上的代码发布到指定的服务器上。
点击左下角的#1/#2… ,然后再点击 "Console Output"可以查看输出日志

变更代码后需要到对应任务重新点击立即构建

五、Jenkins配置邮件 – 内置邮件

系统管理 -> 系统设置 -> Jenkins Location 先设置系统管理员邮件地址,这里的邮件地址需要和后续要设置的发邮件地址一致。
往下拉,找到“邮件通知”那一栏
填写SMTP服务器,点右侧的高级,打勾“使用SMTP认证”,填写用户名密码,这个密码是qq邮箱上生成的授权码,如果使用的是ssl协议,还需要在这里打勾,smtp端口默认为25
可以打勾“通过发送测试邮件测试配置”,然后填写接收邮件的地址,点右侧的Test configuration进行测试

然后就是到已经构建过的job里去配置接收邮件的地址了。在最下面“构建后操作”那一栏,找到E-mail Notification,Recipients填写收邮件人
这个收件人只会在job构建失败时才能收到邮件

72ebe40cc075448131ee6954fcd0a754673.jpg

735dcb1a9e7ec938ab30214156f70e2b9a7.jpg

可以通过修改/tmp/jenkins_test/目录权限来测试:

rm -rf  jenkins_test/*
chattr +i jenkins_test/

更改完权限后去页面立即构建即可

六、Jenkins配置邮件 – 插件email-ext

插件名字Email Extension Plugin,默认已经安装
 

5f452836e9571ffb8a3d8c837c92fbc0ec6.jpg

配置Extended E-mail Notification:

系统管理->系统设置->Extended E-mail Notification 
填写SMTP server,选择高级,点击Use SMTP Authentication,填写用户名、密码此密码为授权码、SMTP port等

选择下方的Default Triggers,选择Always总是发送,点击应用,保存

0cefd7e5f7e33d1cd57a3111162c74573ee.jpg

ec3854c781722bc3b4ea43d497ada84318c.jpg

还需到对应构建任务中去配置一下,下拉到“构建后操作”
点击“增加构建后操作步骤”,选择“Editable  Email Notification”,其中Project Recipient List为接收邮件的收件人,可以在默认内容后面增加额外的收件人邮箱,用逗号分隔
点击右下角的“Advanced settings”,定位到“Triggers”,然后点击下方的“Add Trigger”,可以增加发邮件的条件。
参考文章http://www.cnblogs.com/zz0412/p/jenkins_jj_01.html

514d12256e645c81d37c5406c556505b3c7.jpg

此处进行测试,需要把刚刚jenkins_test目录的权限改回去,chattr -i jenkins_test/

发送成功,可以收到邮件

9ce345af4388083daf56b7518821f75690e.jpg

七、Jenkins破解管理员密码

cd /var/lib/jenkins/users/tobe_6892560001535223816
vim config.xml//定位到<passwordHash>这一行
删除该行,改为
 <passwordHash>#jbcrypt:$2a$10$pre7I4liZFdF6ZE05QntTOoKoKa5pCUumaFO/mMzMoH09bNBzyj6O</passwordHash>
重启一下 systemctl restart jenkins
新密码为aminglinux.com

1bd5587e24c8df16c4a48b271882328cef5.jpg

转载于:https://my.oschina.net/u/4093217/blog/3083779

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值