jborean93.win_chocolatey_server

Ansible 角色 win_chocolatey_server

构建状态 win_chocolatey_server Ansible Galaxy 角色

在 Windows 主机上安装 Chocolatey Server

注意:此角色已在 chocolatey.server 0.2.5 上测试过,较新版本应该也可以使用,但不保证

使用默认设置时,此角色将做以下操作:

  • chocolatey.server 包安装到 C:\tools\chocolatey.server
  • 安装 Chocolatey Server 所需的各种 IIS 功能
  • 创建一个名为 chocolatey_server_app_pool 的 IIS 应用程序池
  • 创建一个名为 chocolatey_server_site 的 IIS 网站,HTTP 绑定在端口 80
  • 创建防火墙规则以允许在 domainprivate 配置文件下的端口 80 进入流量

该角色还可以配置以下内容,但需要设置一些可选变量:

  • 为 Chocolatey Server 设置 API 令牌
  • 指定用户及其基本身份验证的 SHA1 密码哈希
  • 为该网站创建 HTTPS 绑定,使用现有证书或自签名证书
  • 指定 chocolatey 包的路径或 URL,以配置服务器的 install.ps1 脚本
  • 指定服务器允许的最大包大小

我要感谢 kkolk 的优秀博客文章,帮助我编写了此角色。您可以在这里阅读这篇文章。

要向 Chocolatey Server 安装添加新包,请将 .nupkg 文件复制到 {{ opt_chocolatey_server_path }}\chocolatey.server\App_Data\Packages,服务器将自动识别此文件。

注意:您需要先访问 http://server/chocolatey/Packages 至少一次,以激活文件监视器,确保 IIS 应用池已预热。如果应用池重启,您需要再次执行此操作,才能在该目录中识别任何包。

要求

  • Windows Server 2008 R2 及以上版本
  • 如果远程主机无法访问互联网,则需要在远程主机上安装 Chocolatey 客户端

变量

必填变量

无,此角色将使用默认选项运行。

可选变量

  • opt_chocolatey_server_api_token:用于上传新包到服务器的 API 令牌/密钥。如果未指定,将使用 chocolatey.server 包中指定的默认令牌。
  • opt_chocolatey_server_credentials:包含用户名和密码哈希的字典,用作基本身份验证凭据。键是 username,值是 password 的大写 SHA1 哈希。如果未设置,则禁用基本身份验证,并允许匿名访问。
  • opt_chocolatey_server_firewall_profiles:将允许访问 Chocolatey Server 的防火墙配置文件(默认:domain,private)。可以是 domainprivate 和/或 public 的组合。
  • opt_chocolatey_server_http_port:用于 HTTP 访问的端口(默认:80)。
  • opt_chocolatey_server_https_port:用于 HTTPS 访问的端口,默认情况下不创建 HTTPS 绑定,除非指定。
  • opt_chocolatey_server_https_certificate:用于 HTTPS 绑定的证书指纹,如未指定则使用默认值。
  • opt_chocolatey_server_max_package_size:允许存储在服务器上的包的最大大小(以字节为单位,默认:2147483648)。
  • opt_chocolatey_server_pathchocolatey.server 包安装的根目录(默认:C:\tools)。
  • opt_chocolatey_server_sourcechocolatey.server 包的源位置(默认:https://chocolatey.org/api/v2/)。可以是 Nuget 库的名称/网址或包含 nupkg 文件的本地路径。

要设置 Chocolatey Server 创建 install.ps1 脚本并从仓库位置获取安装程序文件,而不是互联网,请下载 chocolatey nupkg 文件,并设置以下两个变量中的一个指向该文件:

  • opt_chocolatey_server_chocolatey_path:从远程主机可访问的 Chocolatey nupkg 文件路径。
  • opt_chocolatey_server_chocolatey_url:从远程主机可访问的 Chocolatey nupkg 文件的 URL。

如果这两个值都未设置,则此服务器的 install.ps1 脚本将默认使用 Chocolatey 网站上的公共安装脚本。

输出变量

这些变量在执行过程中作为主机事实通过 set_fact 设置,可以供该主机的任何后续角色或任务使用。

  • out_chocolatey_server_https_certificate:如果使用自签名证书创建 HTTPS 绑定,则这是所创建证书的哈希值。

角色依赖

示例剧本

- name: 使用默认设置安装 Chocolatey Server
  hosts: windows
  gather_facts: no
  roles:
  - jborean93.win_chocolatey_server

- name: 在自定义路径上设置 Chocolatey,并启用 HTTPS 监听和基本身份验证
  hosts: windows
  gather_facts: no
  vars:
    opt_chocolatey_server_api_token: eb82582c-2214-4ce9-9689-8c823ae33e45
    opt_chocolatey_server_credentials:
      build-team: '{{ build_team_pass | hash("sha1") | upper }}'
      test-team: '{{ test_team_pass | hash("sha1") | upper }}'
    opt_chocolatey_server_http_port: 8080
    opt_chocolatey_server_https_port: 8443
    opt_chocolatey_server_path: D:\tools
    opt_chocolatey_server_chocolatey_url: https://internalrepo.domain/chocolatey.0.10.11.nupkg

  roles:
  - jborean93.win_chocolatey_server

  post_tasks:
  - name: 输出用于 HTTPS 绑定的证书哈希
    debug:
      var: out_chocolatey_server_https_certificate

待办事项

无 - 欢迎提出功能请求

关于项目

Install Chocolatey Server on Windows role

安装
ansible-galaxy install jborean93.win_chocolatey_server
许可证
mit
下载
11.8k
拥有者