robertdebock.rundeck

Ansible角色 Rundeck

在您的系统上安装和配置 Rundeck。

GitHub GitLab 下载 版本
github gitlab downloads Version

示例剧本

这个示例取自 molecule/default/converge.yml,并在每次推送、拉取请求和发布时进行了测试。

---
- name: 合并
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.rundeck

机器需要准备好。在 CI 中使用 molecule/default/prepare.yml 来完成这一点:

---
- name: 准备
  hosts: all
  become: true
  gather_facts: false

  vars:
    _java_version:
      default: 11
      Debian-12: 17
      Ubuntu-22: 17
    java_version: "{{ _java_version[ansible_distribution ~ '-' ~ ansible_distribution_major_version] | default(_java_version['default']) }}"

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.java
    - role: robertdebock.common

也可以查看 完整的解释和示例 以了解如何使用这些角色。

角色变量

变量的默认值在 defaults/main.yml 中设置:

---
# rundeck 的默认文件

# 要安装的 Rundeck 版本
rundeck_version: "4.17.3"
rundeck_release_date: 20231113

# 安装 Rundeck 的位置。
rundeck_rdeckbase: /opt/rundeck

# Xmx 内存大小,以 mb 为单位。 (存储在: "{{ rundeck_rdeckbase }}/etc/profile".)
rundeck_xmx: 4096
rundeck_xms: 256
rundeck_maxmetaspacesize: 128

# Rundeck 服务的 URL:
rundeck_port: 4440
rundeck_address: "{{ ansible_all_ipv4_addresses[0] | default('127.0.0.1') }}"

# 您可以将上下文更改为例如: "/rundeck"。空值意味着
# 不添加特定上下文。
rundeck_server_web_context: ""

rundeck_config:
  - parameter: server.address
    value: "{{ rundeck_address }}"
  - parameter: grails.serverURL
    value: "{{ rundeck_url }}"
  - parameter: dataSource.url
    value: "jdbc:h2:file:/opt/rundeck/server/data/grailsdb"
#   要连接到 MySQL,请使用这些设置。(数据库必须准备好。)
#   - parameter: dataSource.url
#     value: "jdbc:mysql://myserver/rundeck?autoReconnect=true&useSSL=false"
#   - parameter: dataSource.username
#     value: rundeck
#   - parameter: dataSource.password
#     value: rundeck
#   - parameter: dataSource.driverClassName
#     value: org.mariadb.jdbc.Driver

# Rundeck 的设置。(存储在: "{{ rundeck_rdeckbase }}/etc/framework.properties".)
rundeck_framework:
  - parameter: framework.server.hostname
    value: "{{ ansible_fqdn }}"
  - parameter: framework.server.name
    value: "{{ ansible_hostname }}"
  - parameter: framework.projects.dir
    value: "{{ rundeck_rdeckbase }}/projects"
  - parameter: framework.var.dir
    value: "{{ rundeck_rdeckbase }}/var"
  - parameter: framework.logs.dir
    value: "{{ rundeck_rdeckbase }}/var/logs"
  # - parameter: "framework.server.username"
  #   value: unset
  # - parameter: "framework.server.password"
  #   value: unset
  - parameter: framework.rundeck.url
    value: "{{ rundeck_url }}"
  # - parameter: "framework.ssh.keypath"
  #   value: unset
  # - parameter: "framework.ssh.user"
  #   value: unset
  - parameter: framework.ssh-connect-timeout
    value: 0
  - parameter: framework.ssh-command-timeout
    value: 0
  # - parameter: "framework.log.dispatch.console.format"
  #   value: unset
  - parameter: framework.rundeck.execution.script.tokenexpansion.enabled
    value: true

# 存储在 {{ rundeck_rdeckbase }}/server/config/realm.properties 的默认用户
rundeck_users:
  - username: "admin"
    password: "admin"
    roles: "user,admin"
  - username: "user"
    password: "user"
    roles: "user"

# 要安装的 Rundeck 插件
rundeck_plugins: []
# - "https://github.com/Batix/rundeck-ansible-plugin/releases/download/3.1.1/ansible-plugin-3.1.1.jar"

要求

已使用角色的状态

以下角色用于准备系统。您可以以其他方式准备您的系统。

要求 GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.common Build Status GitHub Build Status GitLab
robertdebock.core_dependencies Build Status GitHub Build Status GitLab
robertdebock.java Build Status GitHub Build Status GitLab
robertdebock.service Build Status GitHub Build Status GitLab

上下文

此角色是许多兼容角色的一部分。有关更多信息,请查看 这些角色的文档

以下是相关角色的概览: dependencies

兼容性

此角色已在这些 容器映像 上进行了测试:

容器 标签
EL 9
Debian 所有
Fedora 所有
Ubuntu 所有

所需的 Ansible 最低版本为 2.12,测试已完成于:

  • 之前的版本。
  • 当前版本。
  • 开发版本。

如果您发现问题,请在 GitHub 中注册。

许可证

Apache-2.0

作者信息

robertdebock

请考虑 赞助我

关于项目

Install and configure rundeck on your system.

安装
ansible-galaxy install robertdebock.rundeck
许可证
apache-2.0
下载
2.8k
拥有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.