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

版权声明:本文为博主原创文章,未经博主允许不得转载。

工具系列之Redmine插件与工作效率

本文从如何提高团队的工作效率这一角度出发,介绍Redmine 2.3.0版本下若干插件的功能和使用场景,其他版本的Redmine也可做参考。每个工具的介绍通过场景分析、插件说明、使用方式和截图、注意事...
  • lantian08251
  • lantian08251
  • 2014年09月28日 22:38
  • 8673

CentOS7安装Git与RedMine及整合(提交代码自动更新RedMine状态)

前言         最近公司想把SVN上的代码,全部迁移到现在更流行的Git服务器上去。由于公司的项目代码都属于商业机密,所以不能选择开源的GitHub,而不开源是需要Money的,而公司又正好有A...
  • coolcooldool
  • coolcooldool
  • 2016年11月28日 15:48
  • 1228

redmine与jenkins完美集成方案

实现功能: 当redmine中某个版本相关任务完成
  • weiguang1017
  • weiguang1017
  • 2014年05月13日 16:01
  • 2797

centos7下使用gitlab+redmine+jenkins

centos7下使用gitlab+redmine+jenkins
  • swebin
  • swebin
  • 2017年05月09日 10:45
  • 496

redmine与svn完美集成方案

实现功能: 1.代码的追踪; 2.
  • weiguang1017
  • weiguang1017
  • 2014年05月13日 15:55
  • 3322

redmine与AD集成实现账号统一认证

redmine有一个ladp认证,具体用管理账号登陆系统----管理----LDAP 认证 第一步: •新建LDAP认证    在LDAP认证页面, 点击右上角的 新建认证模式 链接, ...
  • weiguang1017
  • weiguang1017
  • 2015年12月03日 17:59
  • 3849

小团队开发管理工具:gitlab+redmine+testlink+jenkins

由于工作需要,需要为团队搭建一个高效可用的开发管理平台。现在可用的开发管理工具很多开源的、商业的,网上也有很多博客和文章。经过2周的学习比较,再结合自己的项目特点,最后选定工具集:gitlab+red...
  • threeSAN333
  • threeSAN333
  • 2013年12月04日 11:13
  • 14447

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
  • 3960

Redmine与Gitlab深度集成

一.要求 在redmine的issue页面能够看到该问题相关的提交记录 gitlab有提交后自动触发Redmine获取更新 通过commit message能够关联Redmine的iss...
  • hxpjava1
  • hxpjava1
  • 2017年11月13日 17:13
  • 261

remine搭建+集成scrum插件

阿里云服务器上搭建redimine并集成srcum插件 bitnami对于广大怕麻烦的项目人员来说真是一棵大树,想不抱都难啊。我下载了最新的linux 3.0.4-1安装包,下载地址:https:/...
  • vincent19890227
  • vincent19890227
  • 2015年07月23日 16:14
  • 1825
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jenkins 集成 redmine 账户验证的方案
举报原因:
原因补充:

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