gzero / platform
GZERO CMS 平台。
Requires
- php: >=7.1.0
- fideloper/proxy: ~3.3
- fzaninotto/faker: ~1.4
- gzero/admin: ^3.0.0
- gzero/cms: ^3.0.0
- laravel/horizon: ^1.1
- predis/predis: ^1.1
Requires (Dev)
- barryvdh/laravel-debugbar: ^3.1
- barryvdh/laravel-ide-helper: ^2.4
- codeception/codeception: ^2.4
- darkaonline/l5-swagger: 5.5.*
- filp/whoops: ~2.0
- flow/jsonpath: ^0.3.4
- mockery/mockery: ^1.0
- phpunit/phpunit: ~7.0
- themsaid/laravel-langman: ^1.3
This package is not auto-updated.
Last update: 2024-09-28 17:54:33 UTC
README
GZERO CMS 平台是一个在 GZERO CMS 上构建自定义应用程序的基础。
该项目使用 Docker 容器将整个应用程序及其所有依赖项打包成一个标准化的单元。
该项目使用 Ansible 自动化引擎来部署整个应用程序。
安装
使用 composer 创建新项目
composer create-project --prefer-dist gzero/platform platform
目录权限
设置存储和引导缓存权限
chmod 777 -R storage/
chmod 777 -R bootstrap/cache/
chmod 777 -R uploads/
chmod 777 -R public/
[可选]
如果你系统中有 www-data 组,你可以考虑将其添加到组中。这将允许你写入由 php 创建的文件,因为这些文件在开发模式下设置了 umask 002。
sudo usermod -a -G www-data user
生成应用程序密钥
./develop artisan key:genarate
环境配置。
环境配置存储在 .env 文件中(在创建项目阶段从 .env.example 复制而来)。
设置本地域名
为了与 API 正确通信,需要修改操作系统中的 hosts 文件。在 Ubuntu 中,hosts 文件应如下所示
# /etc/hosts
127.0.0.1 localhost
...
127.0.0.1 dev.gzero.pl
127.0.0.1 api.dev.gzero.pl
...
安装并运行 Docker 引擎
Docker 引擎支持 Linux、云、Windows 和 OS X。安装说明可在 Docker 文档页面 上找到
为平台构建 Docker 容器
安装 Docker 引擎后,您需要启动 docker 容器,转到项目目录并运行
- 启动 Docker 容器
./develop up -d
这将运行所有应用程序容器(请等待 ssl 证书生成一些时间)
Starting platform_db_1
Starting platform_redis_1
Starting platform_db_tests_1
Starting platform_web_1
- 创建数据库模式和所需数据
./develop artisan migrate
- 您还可以使用此命令使用示例数据填充数据库
./develop artisan db:seed --class='Gzero\\Cms\\CMSSeeder'
- 您可能还想发布供应商资产
./develop artisan vendor:publish --tag=public --force
- 完成
停止 Docker
如果您想停止 docker 容器,只需运行
./develop stop
这将停止所有运行的应用程序容器
Stopping platform_web_1 ... done
Stopping platform_db_tests_1 ... done
Stopping platform_redis_1 ... done
Stopping platform_db_1 ... done
要删除已停止的容器,请运行
./develop rm
查看 Docker 日志
如果您想查看 Docker 日志,可以运行
./develop logs web
更新平台 Docker 容器
要检查平台 Docker 容器中的更改,您可以偶尔运行
./develop pull
测试
要运行测试,请使用
./develop test
./develop test-debug # it runs xdebug
./develop test-frontend # it runs frontend tests using AVA framework
./develop test-acceptance # it runs acceptance tests using local Google Chrome
./develop test-profile # it runs xdebug profiler and saves output in storage dir
前端工作
安装所需的 npm 模块
./develop npm install
运行 webpack
./develop npm run dev
或
./develop npm run watch
前端测试
仅运行 ava 测试
./develop npm test
或
./develop npm run test:watch
仅运行 eslint
./develop npm lint
或
./develop npm run lint:watch
更新 composer 依赖项
您可以直接从 docker 运行 composer
./develop composer update
持续集成
我们提供了一些用于 travis 和 gitlab-ci 的样板配置,以便您可以修改它们以满足您的需求。
部署
我们使用 Ansible 作为自动化工具。我们包含了一些示例 playbooks。
一些示例用法
ansible-playbook -i staging provision.yml
ansible-playbook -i staging deploy-stack.yml \
-e "APP_ENV='$(cat example.env)'"
-e DOMAIN=docker-test.example.com \
-e LETSENCRYPT_EMAIL=office@example.com \
-e DB_NAME=gzero_cms \
-e DB_USER=gzero_cms \
-e DB_PASSWORD=test \
-e GITLAB_REPO=example/project
ansible-playbook -i staging deploy-app.yml \
-e TAG=0.0.5 \
-e GITLAB_REPO=example/project \
-e "APP_ENV='$(cat example.env)'"