roadiz/standard-edition

此包已被弃用且不再维护。未建议替代包。

Roadiz – 标准版

安装次数: 1,817

依赖者: 0

建议者: 0

安全性: 0

星标: 35

关注者: 11

分支: 5

语言:Dockerfile

类型:项目

1.7.0 2021-09-22 14:58 UTC

README

Join the chat at https://gitter.im/roadiz/roadiz

Roadiz是一个基于多态节点系统的现代内容管理系统,可以处理多种服务和内容。其后台办公系统在设计和用户体验方面都达到了很高的水平。Roadiz主题系统被设计成可以独立于后台办公系统运行,允许轻松切换和针对单个内容基础的多主题。例如,您可以使用相同的节点层次结构为您的桌面网站创建一个主题,为您的移动设备创建另一个主题。Roadiz在MIT许可下发布,因此您可以在个人和商业项目中重用和分发其代码。

文档

标准版

这是Roadiz的生产就绪版。它旨在将您的Apache/Nginx服务器根目录设置为web/文件夹,以保护您的应用程序源代码和主题安全。

用法

# Create a new Roadiz project on develop branch
composer create-project roadiz/standard-edition;
# Navigate into your project dir
cd standard-edition;
# Create a new theme for your project
bin/roadiz themes:generate --symlink --relative FooBar;
# Go to your theme
cd themes/FooBarTheme;
# Build base theme assets
yarn; # or npm install
yarn build; # or npm run build

Composer将自动创建一个新的基于Roadiz的项目并下载所有依赖项。

Composer脚本将自动将默认配置文件和您的入口点复制到web/文件夹,并在项目根目录中创建一个.env文件以设置您的Docker开发环境。

更新Roadiz和您的主题资产

composer update -o --no-dev

# Re-install your theme in public folder using relative symlinks (MacOS + Unix)
# remove --relative flag on Windows to generate absolute symlinks
bin/roadiz themes:assets:install --symlink --relative FooBar;

使用Docker进行开发

Linux上的Docker将提供出色的性能,以及类似于生产环境的环境,而不会占用您的开发机器。

# Copy sample environment variables
# and adjust them against your needs.
nano .env;
# Build PHP image
docker-compose build;
# Create and start containers
docker-compose up -d;

# Adapt Makefile with your theme name and NPM/Yarn
# This will be useful to generate assets and clear cache
# in one command
nano Makefile; 
cd themes/FooBarTheme;
# Install NPM dependencies for your front-end dev environment.
yarn; # npm install;
# Then build assets
yarn build; # npm run build
Solr容器问题

Solr容器在您的项目文件夹中的.data/solr声明其卷。在首次启动后,此文件夹可能以root所有者创建,导致Solr无法填充它。只需运行
sudo chown -R $USER_UID:$USER_UID .data(将$USER_UID替换为您的本地用户id)。

使用PHP内部服务器进行开发

# Edit your Makefile "DEV_DOMAIN" variable to use a dedicated port
# to your project and your theme name.
nano Makefile;

# Launch PHP server
make dev-server;

安装您的主题资产并执行Roadiz命令

您可以直接通过docker-compose exec使用bin/roadiz命令。

# Install Rozier back-office assets
docker-compose exec -u www-data app bin/roadiz themes:assets:install Rozier

# Install your theme assets as relative symlinks
docker-compose exec -u www-data app bin/roadiz themes:assets:install --symlink --relative FooBar

在Linux上

请注意,PHPwww-data用户运行。您必须更新您的.env文件以反映在镜像构建期间您的本地用户UID

# Type id command in your favorite terminal app
id
# It should output something like
# uid=1000(toto)

因此,在启动和构建您的Docker镜像之前,请在.env文件中使用相同的uid。

USER_UID=1000

更新Roadiz源代码

只需调用composer update即可升级Roadiz。如果您需要迁移数据库,则需要执行常规操作。

最大化生产性能

您可以根据关于对Symfony应用程序进行性能调整的已详细记录的文章进行操作。

优化类自动加载器

composer dump-autoload --optimize --no-dev --classmap-authoritative

增加PHP缓存大小

; php.ini
opcache.max_accelerated_files = 20000
realpath_cache_size=4096K
realpath_cache_ttl=600

使用Gitlab Registry构建Docker镜像

您可以通过我们的roadiz/php80-nginx-alpine基础镜像、如Gitlab CI之类的持续集成工具和私有Docker仓库来创建一个包含您的Roadiz项目的独立Docker镜像。所有主题资产将在受控环境中编译,并且每次更新时,您的生产网站都将具有最小停机时间。

请确保在主题中不要忽略package.lockyarn.lock文件,以防止CI系统编译主题资源时出现依赖错误。您也可以为项目添加相同的composer.lock文件,以确保开发环境和CI任务中使用相同的依赖版本。

标准版提供了带有Dockerfile的基本配置集。

  1. 自定义.gitlab-ci.yml文件,以反映您的Gitlab实例配置、主题路径和项目名称。
  2. Composerpre-docker脚本中添加您的主题,以便在Docker构建过程中将主题资源安装到web/目录下。
php bin/roadiz themes:assets:install MyTheme
  1. .dockerignore文件中添加您的主题,以在构建过程中包含您的资源,更新以下行以强制将忽略的文件添加到Docker镜像中
!themes/BaseTheme/static
!themes/BaseTheme/Resources/views/base.html.twig
!themes/BaseTheme/Resources/views/partials/*
  1. 在您的仓库设置中启用注册表持续集成
  2. 在您的Gitlab实例上推送代码。在推送新的标签并且测试和构建任务成功后,应该会触发镜像构建。