标签: rundeck

让Ansible和Rundeck一起工作是一个好主意,还是使用任何一个就足够了?

最近我在看Ansible,并希望在项目中使用它.还有另一个工具Rundeck可以用来做各种操作工作.我对这两种工具都没有经验,这是我目前对它们的理解:

类似的观点

  • 这两个工具都是无代理的,并使用SSH在远程服务器上执行命令

  • Rundeck的主要概念是Node,与Ansible的库存相同,关键思想是定义/管理/分组目标服务器

  • Rundeck可以在选定的节点上执行ad-hoc命令,Ansible也可以非常方便地执行此操作.
  • Rundeck可以定义工作流并在选定的节点上执行,这可以通过编写playbook来使用Ansible完成
  • Rundeck可以与Jenkins等CI工具集成进行部署工作,我们也可以定义一个Jenkins作业来运行ansible-playbook来进行部署工作

不同点

  • Rundeck有Job的概念,Ansible没有

  • Rundeck有Job Scheduler,Ansible只能通过Jenkins或Cron任务等其他工具实现这一点

  • 默认情况下,Rundeck免费提供Web UI,但您必须支付Ansible Tower的费用

似乎Ansible和Rundeck都可用于执行配置/管理/部署工作,可能以不同的方式.所以我的问题是:

  • 这两种补充工具是否设计用于不同目的?如果它们是补充工具,为什么Ansibl只与Chef/Puppet/Slat等工具相比而不与Rundeck相比?如果他们不是为什么他们有这么多相似的功能?
  • 我们已经在使用Jenkins for CI,构建一个Continuous-Delivery管道,哪个工具(Ansible/Rundeck)更适合用于部署?
  • 如果它们可以一起使用,那么最佳做法是什么?

非常感谢任何建议和经验分享.

jenkins continuous-delivery ansible rundeck devops

43
推荐指数
3
解决办法
2万
查看次数

从virtualenv bin内部运行python脚本不起作用

我有一个我希望全球可用的脚本.我用标准的hashbang开始了它:

#! /usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

并将其链接到我的virtualenv的bin目录:

~/environments/project/env/bin/myscript
Run Code Online (Sandbox Code Playgroud)

并将该目录添加到我的路径中.当我运行命令时:

myscript
Run Code Online (Sandbox Code Playgroud)

我的其中一个库出现导入错误.但是,如果我激活虚拟环境并运行脚本,它将按预期工作.

我已经排除了符号链接的问题(我也试过在bin文件夹中移动脚本).我也尝试用python运行脚本

python ~/environments/project/env/bin/myscript
Run Code Online (Sandbox Code Playgroud)

以前我使用的是激活环境然后运行我的脚本的脚本,但我觉得从这个文件夹运行的脚本应该与virtualenv的解释器和site-packages一起运行.任何关于为什么这可能不起作用的想法或某些方法我可以调试这个?

python virtualenv rundeck

28
推荐指数
2
解决办法
7万
查看次数

rundeck是否支持作业依赖性?

我一直在寻找如何使用作业依赖性布局rundeck工作流的日子.我需要做的是3 jobs:job-1并且job-2计划并行运行,而job-3只会在两者完成后触发job-1,并且job-2.假设job-1并且job-2具有不同的执行时间.

我尝试使用作业状态条件来做到这一点,但似乎如果不满足条件将仅停止或失败.我的想法是暂停执行,直到所有父作业完成,然后恢复工作流程.

rundeck

12
推荐指数
1
解决办法
1520
查看次数

如何运行没有ps1扩展名的powershell脚本

我正在使用ops工具Rundeck,它允许执行任意脚本.我在Web应用程序窗口小部件中输入脚本文本,并在执行时,Rundeck将其保存到临时文件并调用解释器.问题是临时文件没有ps1扩展名,Powershell拒绝执行它.

有没有办法设置Powershell来忽略扩展?

=== 2018年编辑===

Rundeck现在在作业定义中有一个选项.

powershell rundeck

9
推荐指数
1
解决办法
1261
查看次数

Rundeck卷曲作业导入

我想通过curl将job.xml导入Rundeck.
尝试这样的事情:

curl -v -u admin:admin -F xmlBatch=@C:\job.xml http://XXXXXXXXXX/api/1/jobs/import
Run Code Online (Sandbox Code Playgroud)

我得到302响应,就是这样

有人可以帮我解决工作样本或帮助我创建/修改这样的样本

curl rundeck

6
推荐指数
1
解决办法
2500
查看次数

显示 Rundeck 中所有项目的所有当前正在运行的作业

在我的 Rundeck 上有多个项目,这些项目下的作业是按计划触发的,有些运行几分钟到一个小时。

我想重新启动 rundeck 服务器以应用一些配置更改,而不必影响这些作业,因此我想知道每个项目中是否有任何当前正在运行的作业。

我知道我可以手动浏览每个项目并检查每个正在运行的作业,但我想立即查看所有内容。

这可能吗?

rundeck

6
推荐指数
1
解决办法
2215
查看次数

RunDeck/ACL/Custom /非管理员组

难以让属于"用户"组的用户有权访问(至少读取)项目.我已经阅读并尝试了我在互联网上找到的几个例子,似乎都没有用.

我现在需要的是:允许属于"user"组的任何用户阅读名为MYPROJECT的项目.我有这个,保存在/ etc/rundeck下名为user.aclpolicy的文件中.我等了60多秒.我也试过重启RunDeck.没运气.

我一直在:

您没有授权访问项目.联系您的管理员.(用户角色:raka,用户)

description: application access to a project
  application: 'rundeck'
for:
  resource:
    - equals:
        kind: project
      deny: [create] # deny create of projects
    - equals:
        kind: system
      allow: [read] # allow read of system info
    - equals:
        kind: user
      deny: [admin] # allow modify user profiles
  project:
    - equals:
        name: 'MYPROJECT'
      allow: [read] # allow access
      deny: [import,export,configure,delete] # deny admin actions
  storage:
    - deny: [read,create,update,delete] # allow access for /keys/* storage content
by:
  group: user
Run Code Online (Sandbox Code Playgroud)

YAML上面有什么问题?我还检查了/ …

acl rundeck

6
推荐指数
2
解决办法
5861
查看次数

Rundeck是否可以在多个服务器上运行命令?

我正在Java程序中实现任务的工作流程.其中一项任务是在多台Linux服务器上运行一些命令.

动态确定服务器 - 从XML文件读取.我检查了Rundeck的API,但似乎我必须提前配置服务器,这不符合我的需要.

有任何想法吗?

java rundeck

5
推荐指数
1
解决办法
2795
查看次数

Rundeck:使用 SCM 插件从 GitHub 中提取作业定义

我非常想将我的 rundeck 工作描述 (YAML) 导入/导出到 GitHub 存储库。

rundeck (2.6.4) 的 SCM 插件似乎已经准备好了,但我找不到关于如何使用它的文档很少。

当我尝试在“设置 SCM 插件:Git 导出”屏幕中对其进行配置时,出现以下错误:

Failed fetch from the repository:  
https://github.com/OptionMetrics/Rundeck.git: Authentication is required but no CredentialsProvider has been registered
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个 SSH 密钥,将其上传到 GitHub,并将其存储在 rundeck 密钥存储中。然后我从配置页面引用了这个键。没运气。

谁能给我明确的指示如何使这项工作?

git rundeck

5
推荐指数
1
解决办法
7403
查看次数

如何将 Rundeck 密钥存储传递给脚本

我创建了 Rundeck 密钥存储并在其中存储了密码

然后创建工作选项 在此处输入图片说明

然后在内联脚本中我指定了以下内容(keys/JIRA 是 Rundeck 密码存储)

curl -XN -u user:keys/JIRA
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

但是密码没有通过,认证失败,我做错了什么?

linux automation rundeck

5
推荐指数
1
解决办法
4073
查看次数