Jenkins 邮箱设置

jenkins 内部提供了两个邮箱配置,一个 E-mail Notification,另外一个是 Extend E-mail Notification, 前者是 jenkins 自带的插件,后者是需要额外安装的

E-mail Notification 只有很少的触发,或者在出异常状况的时候触发,jenkins 系统配置中需要配置 SMTP server 和配置相应的账户来发送邮件,值得注意的是,系统 Admin e-mail address 要和 发送的邮件不一致,否则就会抛出 501 异常

SendFailedException message: 501 mail from address must be same as authorization user

Extend E-mail Notification 功能为 E-mail Notification 增强版本,设置与前者一样,但是没有测试发送邮件功能,不过提供了很多触发时机,自定义性更强一点。

在具体 JOB 中,E-mail Notification 剧本不需要设置,只需要指定收件人就行了。Extend E-mail Notification 需要指定收件各种属性,其中最终要的一条 Project From 需要与系统Admin e-mail address 一致,否则也会抛出 501 异常。

Jenkins的安全控制

Jenkins提供了用户认证和权限控制两种维度的安全策略:

       1) Security Realm(安全域):决定用户名和密码,且指定用户属于的组。

       2) Authorization Strategy(授权策略):分配用户执行某些操作的权限。

通过Manage Jenkins->Configure Global Security->Enable security,就可以进入Jenkins安全控制界面

2 Authorization Strategy
2.1 Anyone can do anything
       这种是最简单,同时也是最不安全的授权策略,任何人都可以对Jenkins进行任何操作。

2.2 Legacy mode
       这种策略比较极端:admin用户拥有系统的所有权限,其他所有用户(包括anonymous)只有只读权限。

2.3 Logged-in users can do anything
       这种策略相对于”Anyone can do anything“要好一点,只有登陆Jenkins的用户,才有进行所有操作的权限。

2.4 Matrix-based security

Jenkins安装以后,会有一个anonymous用户,通过该匿名用户进入系统后,创建一个administrator,分配它系统所有的权限,同时限制anonymous用户的权限

2.5 Project-based Matrix Authorization Strategy
       该策略是将前面Matrix-base安全策略应用到单个project中。Matrix-base中的权限是针对整个系统的,而Project-based是进一步设置用户在每个具体project上的权限。在这种策略下,具体project的configure界面中,会出现”Enable project-based security“复选框,选中后就可以设置用户能够对该project操作的权限。

3 Locked Myself Out
       如果权限设置错误,导致自己都无法登陆Jenkins,可以进行如下操作:

       1)停止Jenkins;

       2)用编辑器打开$JENKINS_HOME中的config.xml;

       3)将true元素中的true改为false;

       4)将和元素的内容删掉;

   5)启动Jenkins。

原文:https://blog.csdn.net/jmyue/article/details/9763021