有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准
https://blog.zysicyj.top
最后修改日期:2023 年 9 月 18 日
启用 Space On-Premises 实例的自定义
Space On-Premises 的 Docker Compose 安装附带一个开箱即用的预定义配置。但是,要使 Space On-Premises 在生产环境中工作,应执行一些其他配置。
Space On-Premises 配置是存储在 Space 应用程序容器中的一组文件。若要配置本地空间,应将文件复制到主机,对其进行修改,然后将空间指向新的文件位置。conf
打开目录(例如,)并运行:
{space_install_dir/config}``space-on-premises/configdocker cp {space_container_id}:/home/space/circlet-server-onprem/config .note
您的 Space On-Premises 实例必须正在运行。
以下配置文件将被复制到主机上的目录中:
{space_install_dir/config}langservice.on-premises.confpackages.on-premises.confspace.on-premises.confvcs.on-premises.properties
根据需要编辑配置文件。
停止 Space 实例:
docker-compose -p space-on-premises down docker-compose -p space-on-premises rm -f打开位于 Space 安装目录中的文件。
docker-compose.yml更改 Space 配置文件的默认位置。为此,请编辑文件:
docker-compose.yml注释掉该行:
config:{}将对 docker 卷配置的每个引用从 更改为 。即,来自:
config``./config... volumes: - config:/home/init-config/config ... volumes: - config:/home/space/circlet-server-onprem/config ... volumes: - config:/home/space/git/vcs-hosting/config ... volumes: - config:/home/space/packages-server/config ... volumes: - config:/home/space/langservice-server/config ...自:
... volumes: - ./config:/home/init-config/config ... volumes: - ./config:/home/space/circlet-server-onprem/config ... volumes: - ./config:/home/space/git/vcs-hosting/config ... volumes: - ./config:/home/space/packages-server/config ... volumes: - ./config:/home/space/langservice-server/config ...
Start Space On-Premises with the updated configuration:
docker-compose -p space-on-premises up -d
使 Space On-Premises 实例可通过网络访问
默认情况下,Space On-Premises 的 Docker Compose 安装使用 和 作为基本 URL。此配置仅在本地运行 Space 时的概念验证方案中有效。如果要在单独的计算机上运行 Space 并使其可通过网络访问,则必须使用 nginx Web 服务器。它将用作反向代理并将请求重定向到 Space.'127.0.0.1''localhost'
先决条件:
Space 组件的域名已注册并解析为主机的 IP 地址。空间组件包括:空间应用程序、VCS 和包服务器。在我们的示例中,我们将使用以下名称:、 和 .'space.example.com''git.example.com''packages.example.com'
相应的 TLS 证书安装在主机上。您可以从受信任的证书颁发机构(例如,[Let's Encrypt](https://letsencrypt.org/getting-started/))获取证书。
主机安装了 nginx Web 服务器。您可以在 [官方网站](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/)上找到安装说明。
- 在主机上,在目录下创建 NGINX 配置文件。例如:'space.conf''/etc/nginx/conf.d'
在上面的示例中,更改:
所有和指向证书真实路径的路径sslcertificatekey ssl_certificate。
所有值(、、、)为真实域名.'server_name''space.example.com''git.example.com''packages.example.com'
保存更改并应用配置:
[使您的 Space 实例可供自定义](https://www.jetbrains.com.cn/en-us/help/space/configure-space-for-docker-compose-production-environment.html#customize-space-service-configuration)。
如果 Space 实例正在运行,请停止该实例。
打开 Space 安装目录。
在文件中,使用新的 URL 值更新 all 和 参数。例如:“space.on-premises.conf”url“altUrls”
circlet { frontend { url = "https://space.example.com" internalUrl = "http://space:9084" } packages { notifications { enabled = true } types { maven { url = "https://packages.example.com" } nuget { url = "https://packages.example.com" } npm { url = "https://packages.example.com" } container { url = "https://packages.example.com" } pypi { url = "https://packages.example.com" } composer { url = "https://packages.example.com" } dart { url = "https://packages.example.com" } files { url = "https://packages.example.com" } crates { url = "https://packages.example.com" } } } }在文件中,使用新的 URL 值更新 all 和 参数。例如:
packages.on-premises.conf``url``internalUrlcirclet { packages { url = "https://packages.example.com" internalUrl = "http://packages:9390" } space { url = "https://space.example.com" internalUrl = "http://space:9084" } storage { aws { publicUrl = "https://minio.example.com" } } }在文件中,使用新的 URL 值更新 和 参数。例如:
vcs.on-premises.properties``base.url``circlet.url.extbase.url=https://git.example.com circlet.url.int=http://space:9084 circlet.url.ext=https://space.example.com使用更新的配置启动 Space On-Premises:
启用邮件服务器
Docker Compose 安装没有预配置的邮件服务器。下面的说明显示了如何创建 MailHog 邮件服务器并将其注册到 Space 中。
如果 Space 实例正在运行,请停止该实例。
打开 Space 安装目录。
在文件中,添加邮件服务器配置:
docker-compose.ymlservices: mailhog: image: mailhog/mailhog ports: - 1025:1025 # SMTP server port - 8025:8025 # UI port networks: - "frontend"向 Space 提供邮件服务器设置。您可以通过两种不同的方式执行此操作:使用空间管理 UI 或使用空间配置文件。
使用更新的配置启动 Space On-Premises:
在浏览器中打开您的 Space 实例并指定邮件设置,如下所示 page.
(Case-specific) Enable manual downloads in Space Packages
warning
These instructions only apply if you use a custom S3 storage for your Space instance. If you use the default storage, you can skip this chapter.
如果对 Space 实例使用自定义对象存储,则必须配置其 CORS 策略以允许接收来自任何源的 GET 请求:
否则,用户将无法从 Space 中的存储库页面手动下载包。单击“下载”按钮将导致错误。
登录 AWS 管理控制台并打开 [Amazon S3 控制台](https://console.aws.amazon.com/s3/)。
打开用于空间包的 S3 存储桶。
打开“权限”选项卡,将以下配置添加到“CORS”部分:
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "ExposeHeaders": [] } ]Save the changes.