liquidlight/deployer-typo3-ci

通过CI进行TYPO3部署

2.4.0 2024-01-16 11:47 UTC

This package is auto-updated.

Last update: 2024-09-27 14:22:13 UTC


README

此包由Liquid Light用于通过CI(特别是Gitlab)部署TYPO3网站。

它最好在Gitlab CI中使用,因为它可以利用多个环境变量。

其基础是PHP Deployer,但是很多功能来自deployer-extended-typo3及其许多元包。

选项

在此包中默认定义了几个设置,用于最常见的宿主主机

宿主机

deploy.php文件中设置服务器的主机名 - 其余的连接详细信息应在您的.ssh/config文件中

host('production')
  ->set('hostname', 'client.xxx')
;

现有宿主机

以下宿主机在deployer/hosts文件中有配置文件,并带有一些合理的默认值

  • 生产
  • 预发布
  • 本地

设置环境

建议您设置一个环境以应用额外的配置。这通过host()设置,以便为不同的主机提供不同的环境

host('production')
  ->set('ll_deployer_environment', 'cpanel')
;

选项

  • vps - 用于基于Debian的完全自我管理的vps
  • cpanel - 用于运行cPanel的站点

上传资产

如果存在,此包将上传html/assets以及app/*/Resources/Public,但是如果您想上传其他构建的文件,则需要将它们指定为数组。这可以在全局或按宿主机设置

例如:

set(
  'll_deployer_asset_paths',
  [
    '{{release_path}}/html/_assets'
  ]
);

上传.env文件

您可以将.env文件的内容添加为CI/CD变量(确保在下拉菜单中选择“文件”),并将其设置为DEPLOY_DOTENV_[ENVIRONMEENT NAME]。然后需要将其设置为要部署的环境变量中的.gitlab-ci.yamlDEPLOY_DOTENV

  variables:
    DEPLOY_DOTENV: $DEPLOY_DOTENV_PRODUCTION

清除OPCache

如果服务器安装了OPCache,则在每次部署时都需要清除它,以便PHP和Apache可以看到新的符号链接。

为此,您需要在部署文件中的public_urls中声明一个数组,并添加针对环境的cache:clear_php_http任务。

  1. ->set('public_urls', ['[URL]'])添加到deploy.php中的production宿主机
  2. 为生产实例添加cache:clear_php_http任务(以下为示例)
on(select('instance=production'), function ($host) {
	after('cache:clear_php_cli', 'cache:clear_php_http');
});