jenkins 集成 redmine 账户验证的方案

原创 2013年09月03日 18:11:32

jenkins 集成 redmine 账户验证的方案

赖勇浩(http://laiyonghao.com

动机

Jenkins 是最著名的持续集成工具,又因为它开源免费、插件众多,成为了许多团队做持续集成的首选。

Jenkins 本身支持多种账户验证方案,但最棒的是它支持验证插件,可以把账户验证的工作完全托管给插件,这就为它支持更多的账户验证方案提供了无限可能。

script-realm-plugin 无疑是一个天才的验证插件,它的天才之处在于可以运行一个命令,并通过环境变量的方式把账号密码传递给这个命令,然后检验它的 exit code 获得验证结果。这个命令可以是任意语言编写的程序,它可以是一段 shell 脚本,也可以是 C 语言编写的一个程序。在今天它是我们使用 python 编写的一个小程序:redmine-auth

redmine-auth

redmine-auth 是一个读取 redmine 账户信息的脚本,实现账户验证。

得益于 redmine-auth 使用了 SQLAlchemy 的 database orm,只要 SQLAlchemy 支持的数据库,redmine-auth 都可以读取。所以无论 redmine 使用的是 MySQL 还是 postgresql,甚至是 oracle/mssql/sqlite,都可以无缝地使用 redmine-auth 进行账户验证。

安装

首先,确保安装了 jenkins 和它的 script-realm-plugin 插件。

然后,确保安装了 python 和 pip,接下来的工作就很简单,运行使用:

pip install -U redmine-auth

它会自动安装依赖的 SQLAlchemy,但是数据库驱动需要你手动安装,比如 MySQLdb 需要你自行安装好。

配置

首先,进入 jenkins 的 Configure Global Security 页面,确保选择了“启用安全”,然后在“访问控制”-> “安全域” 那里选择“Authenticat via custom script”(需要安装插件以后才有),最后,在 login command 输入框中填入以下内容:

redmine-auth-jenkins --conn-str=连接字符串

其中“连接字符串”是一个符合 SQLAlchemy 连接字符串定义的字符串,如:

mysql://user:pswd@localhost/redmine

怎么构造你自己的连接字符串,请参考 SQLAlchemy 的文档(http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#sqlalchemy.create_engine)。简单摘抄最关键的一句放在下面:

The string form of the URL is dialect+driver://user:password@host/dbname[?key=value..], where dialect is a database name such as mysql, oracle, postgresql, etc., and driver the name of a DBAPI, such as psycopg2, pyodbc, cx_oracle, etc. Alternatively, the URL can be an instance of URL.

其它

redmine-auth 是一个 MIT 授权的开源项目,主页:https://github.com/laiyonghao/redmine-auth

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lanphaday/article/details/11012011

redmine与jenkins完美集成方案

实现功能: 当redmine中某个版本相关任务完成
  • weiguang1017
  • weiguang1017
  • 2014-05-13 16:01:45
  • 3154

centos7下使用gitlab+redmine+jenkins

gitlab比svn好用,准备使用gitlab+redmine,把代码往gitlab迁移. 机器ip 192.168.1.146 系统 centos 7.1一.gitlab安装这次使用的是...
  • u012375924
  • u012375924
  • 2015-08-28 12:04:59
  • 4379

持续集成之jenkins实践教程:基础篇(4): 集成redmine

作为持续集成的利器Jenkins已经得到了广泛地应用,仅仅作为一个工具,Jenkins已然了了自己的生态圈,支持其的plugin更是超过1300+。在实际中如何使用以及如何更好地使用jenkins,一...
  • liumiaocn
  • liumiaocn
  • 2017-07-13 05:50:20
  • 2062

Bitnami-Redmine备份迁移恢复

Bitnami Redmine 从 2.6 升级到 3.0 版本,完美教程。
  • shishuo365
  • shishuo365
  • 2015-05-26 00:40:36
  • 5939

redmine服务搭建

redmine服务搭建,sendmail服务搭建
  • u014712103
  • u014712103
  • 2017-06-19 14:29:47
  • 819

工欲善其事必先利其器——研发团队开源管理工具最佳实践

持续集成:jenkins   加速项目推进心跳项目管理及构建:maven+nexus  强制的组件化开发开发任务及缺陷跟踪:redmine 高效的沟通自动化测试及自动缺陷检测:Junit,findbu...
  • kthq
  • kthq
  • 2013-12-19 23:09:31
  • 8933

redmine与svn完美集成方案

实现功能: 1.代码的追踪; 2.
  • weiguang1017
  • weiguang1017
  • 2014-05-13 15:55:40
  • 3805

redmine通过https连接远程svn

在redmine
  • taonull
  • taonull
  • 2014-09-13 10:29:22
  • 2590

Redmine使用中文用户名实现统一认…

公司决定集成Redmine到OA系统中,初步调研了Redmine所支持的LDAP, 自定义Auth,OpenID。由于公司的所有用户数据都在OA系统中,因此单独扯个统一认证的服务出来,实现虽然不是特别...
  • u011450909
  • u011450909
  • 2013-07-19 14:41:11
  • 1374

软件项目管理平台:repo+gerrit+jenkins+gitlab+sonar+redmine

xiexie
  • threeSAN333
  • threeSAN333
  • 2014-09-25 11:35:37
  • 5963
收藏助手
不良信息举报
您举报文章:jenkins 集成 redmine 账户验证的方案
举报原因:
原因补充:

(最多只允许输入30个字)