安装
编辑文件 /etc/apt/sources.list.d/jenkins.list,其内容如下:
deb http://pkg.jenkins-ci.org/debian binary/
然后执行以下命令:
- $ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
- $ sudo apt-get update
- $ sudo apt-get install jenkins
配置
端口
Jenkins默认监听8080端口,如果与其他应用程序端口冲突,修改/etc/default/jenkins文件:
HTTP_PORT=8082
然后
# /etc/init.d/jenkins restart
就可以了
访问控制
Jenkins默认安装是没有启用访问控制的,也就是可以随便匿名访问,要启用安全控制,访问Jenkins web界面,从”系统管理->安全设置”中配置即可。
邮件通知
打开Manage Jenkins -> Configure System:
- Jenkins Location -> System Admin e-mail address 设置管理员邮箱地址
- E-mail Notification -> SMTP server 输入stmp服务器地址
- Default user e-mail suffix 用户邮箱后缀,比如@openwares.net
- Advanced -> Use SMTP Authentication 输入smtp认证需要的User Name和password
- Use SSL 如果服务器使用SSL则勾选,如果使用TLS/STARTTLS则不要勾选
- SMTP Port 指定端口,默认25
如果smtp服务器使用TLS,则需要在jenkins配置文件/etc/default/jenkins中添加JAVA选项:
JAVA_ARGS=”-Dmail.smtp.starttls.enable=true” # enable STARTTLS
否则测试邮件发送会有异常:
- Failed to send out e-mail
- javax.mail.MessagingException: Could not connect to SMTP host: mail.openwares.net, port: 25;
- nested exception is:
- javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
- at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
- at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
- ...
然后重新启动jenkins。
但是如果启用STARTSSL时服务器的SSL证书是自签的,又会抛出异常:
- Failed to send out e-mail
- javax.mail.MessagingException: Could not convert socket to TLS;
- nested exception is:
- javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
- sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1880)
- ...
因为证书是不受信任的:-(。
那么还需要在jenkins配置文件/etc/default/jenkins中添加一个JAVA选项:
JAVA_ARGS=”-Dcom.sun.net.ssl.checkRevocation=false” #disable cert verify
这样就可以正常发送邮件了。
References:
[1]Jenkins Debian packages
[2]Installing Jenkins on Ubuntu
没有评论