1. 创建Project
New Project -> 输入Project信息 -> 选中Groovy SQL command executor->create(最下面)
2. 创建Nodes
(1) 跳板机登录rundeck机器
(2) 增加<node />标签
$ cd $RDECK_BASE/projects/database_select/etc# database_select为新创建的Project
$ vim resources.xml #添加以下node信息
<nodename="新零售"node-executor="jdbc-command" db-type="MYSQL"jdbc-connect="jdbc:mysql://10.10.10.10:3306/database_name?useUnicode=true&characterEncoding=UTF-8"jdbc-username="XXXXX" jdbc-password="XXXXX"description="selfmedia node" tags="" hostname="10.10.10.10"osArch="amd64" osFamily="unix" osName="Linux"osVersion="4.4.0-117-generic" username="sc"/>
(3)刷新web,可以看到新创建的node已经存在了
3. 创建Jobs
(1)Nodes板块 –> Actions -> Create a job for……
(3) 添加Job信息
(3)Groovy SQL Script
Groovy脚本可以选择inline或者file两种形式,下图中是选择inline方式。
输入脚本,参数设置(如果有的话),save。如下所示:
query ="select bb.order_code, aa.order_status, aa.operator_id, aa.operator_name,aa.action_desc, aa.backstage_desc,aa.remark, aa.date_create, aa.date_updatefrom retail_order_action aa left join retail_order bb onaa.order_id=bb.order_id where bb.order_code='" + order_no + "' andaction_type=0 order by aa.date_create asc";
sql.eachRow(query){
row ->
println(">>>>>>>> " + row.date_update+ " <<<<<<<<")
println("订单号:" + row.order_code)
println("订单状态:" +orderStatus2desc[row.order_status])
println("操作人ID:" +row.operator_id)
println("操作人:" + row.operator_name)
println("操作:" + row.action_desc)
println("后台操作:" + row.backstage_desc)
println("备注:" + row.remark)
println("创建时间:" + row.date_create)
println("更新时间:" + row.date_update)
println()
}
println("=========================================================\n")
(4)选择Job执行所在的Node
(5)Save 完成Job创建
4. 运行Jobs
(1)输入查询入参,Run job
(2)Log Output 查看Job运行结果
(3) Activity面板查看历史运行情况
5. 用户与权限配置
(1) 用户管理
$ vim $RDECK_BASE/server/config/realm.properties
# The format is
# <username>: <password>[,<rolename> ...]
(2) admin权限管理
$ vim $RDECK_BASE/etc/admin.aclpolicy
(3) 普通用户权限管理
$ cd $RDECK_BASE/etc
$ touch database_select.aclpolicy # 创建Project database_select 普通用户权限