liquidlight / deployer-typo3-ci
通过CI进行TYPO3部署
2.4.0
2024-01-16 11:47 UTC
Requires
Replaces
- liquidlight/deployer: *
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的完全自我管理的vpscpanel
- 用于运行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.yaml
或DEPLOY_DOTENV
。
variables: DEPLOY_DOTENV: $DEPLOY_DOTENV_PRODUCTION
清除OPCache
如果服务器安装了OPCache
,则在每次部署时都需要清除它,以便PHP和Apache可以看到新的符号链接。
为此,您需要在部署文件中的public_urls
中声明一个数组,并添加针对环境的cache:clear_php_http
任务。
- 将
->set('public_urls', ['[URL]'])
添加到deploy.php
中的production
宿主机 - 为生产实例添加
cache:clear_php_http
任务(以下为示例)
on(select('instance=production'), function ($host) { after('cache:clear_php_cli', 'cache:clear_php_http'); });