jborean93.win_chocolatey_server
Ansible 角色 win_chocolatey_server
在 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
- 创建防火墙规则以允许在
domain
和private
配置文件下的端口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
)。可以是domain
、private
和/或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_path
:chocolatey.server
包安装的根目录(默认:C:\tools
)。opt_chocolatey_server_source
: chocolatey.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
待办事项
无 - 欢迎提出功能请求
安装
ansible-galaxy install jborean93.win_chocolatey_server
许可证
mit
下载
11.8k
拥有者