Jenkins配合webhook实现push,自动构建并发送邮件
Jenkins
安装 java8 jdk
sudo apt-get updatesudo apt-get install openjdk-8-jdkgit安装 jenkins
sudo apt-get updatesudo apt-get install jenkins问题:
在 ubuntu 18.04 上测试发现。使用官网 linux ununtu 安装方法安装之后。启动 jenkins 成功,并且开启防火墙以及阿里云安全组也配置了 8080 端口。任然无法通过 ip:8080 访问 jenkins
解决:卸载重新安装
卸载
# 服务sudo apt-get remove jenkins# 安装包,注意这里如果不是ubuntu那就yumsudo apt-get remove --auto-remove jenkins# 配置和数据sudo apt-get purge jenkinssudo apt-get purge --auto-remove jenkinsapt-get 直接安装,不配置其他内容
sudo apt-get install jenkins
启动 jenkins
sudo systemctl start jenkins或sudo /etc/init.d/jenkins [start|restart|stop]- 当遇到
Job for jenkins.service failed because the control process exited with error code.
报错,运行systemctl status jenkins.service
查看详细报错内容
- 当遇到
jenkins 配置修改
vim /etc/default/jenkins
jenkins 初始密码文件地址
/var/lib/jenkins/secrets/initialAdminPassword
jenkins 插件安装速度慢
jenkins 输入密码之后页面一直加载(被墙)https://www.cnblogs.com/yoyoketang/p/12115432.html
按照以上方法并未找到文件。
- 输入 ip:8080/pluginManager/advanced
- 修改 Update Site 为
http://mirror.xmission.com/jenkins/updates/update-center.json
- 点击 submit 之后,重启 jenkins 服务
更改下载源https://cloud.tencent.com/developer/article/1563303
vim /var/lib/jenkins/updates/default.json
- 输入
:
,然后输入1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
- 再输入
1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g
- 保存退出
:wq
- 重启 jenkins 服务
jenkins 汉化
http://ip:8080/pluginManager/available
安装 locale 和 Localization: Chinese (Simplified)插件- 重启服务
Jenkins 拉取 git 代码失败
确认是否添加 git 凭据
插件
pipeline
有多种类型,多分支流水线
和gitHub Organization
可以读取项目中Jenkinsfile
执行构建,其余均需手动加入构建
例子
使用 github webhooks 触发脚本自动构建
在 jenkins 上设置好身份验证令牌之后,在 github-》setteing-》webhook 中设置
发送邮件
Manage jenkins -> configure system -> jenkins location 设置邮箱,不设置,会出现问题 2 中场景
本文用 qq 邮箱,需开启 qq 邮箱 smtp,详情请 google
Manage jenkins -> configure system->Extended E-mail Notification设置 smtp 信息
* 注意打开 Allow sending to unregistered users,否则会出现问题1场景* 某些情况还需配置邮件通知(使用默认邮件通知)* 测试邮箱是否可以发送成功* 在项目的配置中选择editable email notification,配置发送邮箱
问题
Not sending mail to unregistered user xxx@xx.com because your SCM claimed this was associated with a user ID ‘xxx' which your security realm does not recognize; you may need changes in your SCM plugin
Failed to send to email(测试邮件是否可以成功发送的时候,一直报错 Can't send command to SMTP host)
manage jenkins -> configure system ->jenkins location 设置系统管理员邮箱即可