hal/hal-core

Hal UI 和 Agent 的核心领域实体和共享资源。

此软件包的官方仓库似乎已消失,因此软件包已被冻结。

3.0.0-alpha1 2017-02-02 16:28 UTC

README

CircleCI Latest Version Latest Stable Version GitHub License GitHub Language GitHub Activity

Hal 核心组件

Hal UI 和 Agent 的核心领域实体和共享资源。

  • Hal 教义实体
  • Phinx 数据库迁移
  • 加密属性

Hal 使用的 ORM 是 Doctrine,迁移由 Phinx 处理。

数据库

Doctrine 高级技巧

  • 不要缓存一对一关系!

处理迁移

迁移工具的配置存储在 phinx.yml 中。此项目包含 phinx.yml.dist,仅包含开发环境的默认设置。请确保将其复制到 phinx.yml 并为管理其他环境添加额外的设置。

包含的脚本 bin/phinx 将运行 Phinx 并也一个 env 文件 phinx.secrets。Phinx 将自动替换以 PHINX_ 开头的环境变量。

以下是一个示例,其中在生产数据库密码存储在 phinx.secrets

phinx.secrets:

#!/usr/bin/env sh

export PHINX_PROD_PASSWORD='my-secret-password'

phinx.yml:

# include other config from phinx.yml.dist here

environments:
    prod:
        adapter: 'pgsql'
        host: 'prod_database_server'
        name: 'prod_database_name'
        user: 'prod_database_username'
        pass: '%%PHINX_PROD_PASSWORD%%'
        port: 5432
        charset: 'utf8'

有关处理配置的官方 Phinx 文档,请参阅: docs.phinx.org

为开发设置 Postgres 数据库

  • cp phinx.yml.dist phinx.yml
  • createdb hal
  • createuser hal --superuser
  • bin/phinx migrate

Hal 领域模型

应用程序

  • 应用程序

    系统中的应用程序。包含有关源代码位置的信息。

  • 组织

    应用程序属于组织。

  • 加密属性

    存储在 Hal 加密配置字典中的值。

系统

  • AuditEvent

    用于记录的归一化事件。

  • 系统设置

    Hal 平台使用的配置值。仅用于 Hal 内部系统。

工作

  • 构建

    构建工作。使用特定 环境commit 运行构建。

  • 发布

    发布工作。使用特定 目标build 运行发布。

  • 工作事件

    在构建或发布过程中发生的任何事件。包含参数或数据,如 shell 输出或配置参数。

  • 工作元数据

    构建或发布发布的元数据。可能用于进一步搜索或分析的信息。

  • 工作流程

    由工作触发的操作或流程。目前仅用于在构建成功后自动启动发布。

部署管理

  • 环境

    系统中的环境。

  • 组是目标集合,用于控制权限或简单自然组织它们。组通常具有 类型名称,例如“服务器 mydevserver 的组 rsync”。

  • 目标

    环境中组的配置。应用程序可以为单个组或环境有多个目标。例如:“CodeDeploy group 的目标,CodeDeploy 应用程序名称为 test-app,S3 存储桶为 dev-releases”。

  • 凭证

    用于连接到目标的安全凭证,如访问令牌或私钥。

用户管理

  • 用户

    系统中的用户。

  • 用户权限

    用户权限。权限可以按环境、应用程序、组织或全局分配。

  • 用户设置

    用户特定的设置,例如他们喜欢的应用程序。

  • 用户令牌

    用户可以创建令牌以访问 API。