Debain Ubuntu Jenkins安装配置

2016年5月18日

安装

编辑文件 /etc/apt/sources.list.d/jenkins.list,其内容如下:

deb http://pkg.jenkins-ci.org/debian binary/

然后执行以下命令:

  1. $ wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
  2. $ sudo apt-get update
  3. $ 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:

  1. Jenkins Location -> System Admin e-mail address 设置管理员邮箱地址
  2. E-mail Notification -> SMTP server 输入stmp服务器地址
  3. Default user e-mail suffix 用户邮箱后缀,比如@openwares.net
  4. Advanced -> Use SMTP Authentication 输入smtp认证需要的User Name和password
  5. Use SSL 如果服务器使用SSL则勾选,如果使用TLS/STARTTLS则不要勾选
  6. SMTP Port 指定端口,默认25

如果smtp服务器使用TLS,则需要在jenkins配置文件/etc/default/jenkins中添加JAVA选项:
JAVA_ARGS=”-Dmail.smtp.starttls.enable=true” # enable STARTTLS
否则测试邮件发送会有异常:

  1. Failed to send out e-mail
  2. javax.mail.MessagingException: Could not connect to SMTP host: mail.openwares.net, port: 25;
  3. nested exception is:
  4. javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
  5. at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
  6. at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
  7. ...

然后重新启动jenkins。

但是如果启用STARTSSL时服务器的SSL证书是自签的,又会抛出异常:

  1. Failed to send out e-mail
  2. javax.mail.MessagingException: Could not convert socket to TLS;
  3. nested exception is:
  4. javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
  5. sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  6. at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1880)
  7. ...

因为证书是不受信任的:-(。

那么还需要在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

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注