Ansible开发环境

时间:2015-07-30 20:14:47

标签: ubuntu ide ansible winscp

目前我正在开发ansible编排系统。项目结构是这样的:

site.yml webservers.yml fooservers.yml roles/ common/ files/ templates/ tasks/ handlers/ vars/ defaults/ meta/ webservers/ files/ templates/ tasks/ handlers/ vars/ defaults/ meta/

因此,我必须处理数十种游戏书,角色,子目录,任务,变量文件等。现在,我使用WinSCP作为一种IDE(我在Windows开发机器上工作)这个解决方案远非完美,但允许我在文件和文件夹之间轻松导航。事实上我非常想念Visual Studio(intellisense!)。我之前尝试过在我的开发机器上安装Eclipse,但它太慢了。我发现shell工具相当不舒服。由于公司限制,我无法添加任何VM-s。

所以,我的问题是: 是否有任何Windows(或轻量级Ubuntu GUI)工具来处理Linux开发的文件和文件夹的复杂结构?

6 个答案:

答案 0 :(得分:5)

基于JetBrains的IDE有一个YAML/Ansible插件,可以向Ansible playbook结构添加一些上下文和语法高亮显示。

Sublime有一个插件,可以向Ansible文件添加语法高亮显示https://github.com/clifford-github/sublime-ansible

这两个工具都可以显示文件夹结构,并使用sftp / ssh连接到远程服务器。

答案 1 :(得分:2)

所有人都认为

Vim不是IDE,但是我(工作和)每天使用Rocannon for Ansible进行自动完成,语法突出显示,内置帮助和其他类似IDE的功能

Vim学习起来不是很快,但很轻松。 :)

在Rocannon github页面上有一个GIF演示,可以让您了解它提供的内容。

答案 2 :(得分:1)

这是IDE或编辑器的正式列表:https://docs.ansible.com/ansible/latest/community/other_tools_and_programs.html#popular-editors

当前看来,最好的选择是Visual Studio Code,因为它具有专门用于Ansible的自动完成和语法突出显示功能。

答案 3 :(得分:0)

Ansible应该有一个IDE来验证YAML lint和ansible本身的语法错误(取决于版本)。这是一个浪费时间,必须运行和调试并反复遇到的事情,最新的例子是这样的:     “msg”:“模块不支持的参数:寄存器”}

当你所做的只是:

- name: gather rds instance facts
  rds:
    command: facts
    instance_name: "{{ wp_db_instance }}"
    register: database_facts

VS

- name: gather rds instance facts
  rds:
    command: facts
    instance_name: "{{ wp_db_instance }}"
  register: database_facts

注意缩进。这就是YAML痛苦的原因。

答案 4 :(得分:0)

Netbeans了解yaml但不支持Ansible Playbook甚至是通用项目。所以我从exices源创建一个PHP项目,并在我的ansible playbook中指出。

  • PLUS我在Netbeans中使用python进行所有编码
  • 加上yaml语法高亮显示有很多帮助
  • 加上git整合('因为你确实把你的剧本保存在scm中)

  • 根本没有任何安全意识,例如帮助找到变量声明

答案 5 :(得分:0)

我为基于IntelliJ的IDE编写了一个插件,该插件有助于处理ansible文件。 它会自动完成所有字段并可以检测角色并提出建议。

https://plugins.jetbrains.com/plugin/14893-ansible