techpivot/phalcon-ci-installer

为PHP应用程序提供Composer集成,以便在PHP运行时将Phalcon框架作为扩展安装,适用于包括TravisCI、CircleCI、Scrutinizer、Shippable和Codeship在内的各种托管CI服务。

资助包维护!
techpivot

安装次数: 130 467

依赖项: 11

建议者: 0

安全: 0

星标: 26

观察者: 6

分支: 8

开放问题: 2

语言:Shell

1.0.7 2017-04-07 13:52 UTC

This package is auto-updated.

Last update: 2024-09-08 09:05:13 UTC


README

CircleCI Travis CI Scrutinizer Codeship Shippable

Latest Version Total Downloads Software License

为PHP应用程序提供Composer集成,以便将Phalcon框架作为扩展安装在PHP运行时,适用于包括CircleCI、Travis CI、Scrutinizer、Codeship和Shippable在内的各种托管CI服务。

功能

  • 在PHP运行时加载Phalcon扩展
  • 原生缓存支持,防止从源代码重新构建Phalcon
  • 自动检测最新标记的Phalcon版本
  • 安装特定版本的Phalcon、标记和发布版本 (自1.0.2起)
  • 支持PHP7和Phalcon 3.0.x (自1.0.4起)

版本兼容性

以下表格概述了Phalcon在各种CI环境中的通用兼容性。

安装

  1. techpivot/phalcon-ci-installer存储库添加到您的composer.json文件中的require-dev部分,如下所示
  "require-dev": {
      "techpivot/phalcon-ci-installer": "~1.0"
  }
  1. 更新您的CI脚本,在相关部分中执行vendor/bin/install-phalcon.sh安装程序。请参阅以下各种CI提供商的示例。

选项

安装程序接受一个可选参数,可以用来指定特定的分支或标记。

示例

# Install latest version from default branch
vendor/bin/install-phalcon.sh

# Install latest revision from branch "3.0.x"
vendor/bin/install-phalcon.sh 3.0.x

# Install specific release tag "phalcon-v2.0.9"
vendor/bin/install-phalcon.sh phalcon-v2.0.9

注意:Phalcon CI安装程序旨在缓存与Phalcon/PHP版本对应的二进制文件。指定发布或标记版本将带来最佳性能,因为后续构建(取决于CI容器/设置)将被缓存。从分支构建(包括默认的master选项)将导致安装程序检测到的新版本尚未缓存时,每次都会重新构建Phalcon。

CI环境

CircleCI

circle.yml

machine:
  php:
    version: 5.6.14

dependencies:
  cache_directories:
    - vendor
    - ~/cphalcon

  post:
    - vendor/bin/install-phalcon.sh phalcon-v2.0.13

test:
  override:
    - vendor/bin/phpunit

注意:为了缓存数据以提高构建速度,请确保指定了上面概述的cache_directories指令。

注意:请确保在post阶段执行vendor/bin/circleci-install-phalcon.sh,这将允许在安装过程中包含techpivot/phalcon-ci-installer存储库。

参考:CircleCI PHP版本 – Ubuntu 14.04Ubuntu 12.04

Travis CI

.travis.yml

language: php

php:
  - 5.5
  - 5.6
  - 7.0

cache:
  directories:
    - vendor
    - ~/.composer/cache
    - ~/cphalcon

before_install:
  - composer install --prefer-source --no-interaction
  - vendor/bin/install-phalcon.sh 3.0.x

script:
  - vendor/bin/phpunit

notifications:
  email: false

注意:可以指定多个PHP版本,并且每个版本都将独立缓存;但是,对于所有构建,都将应用phalcon目标引用(分支或标记)。

参考:TravisCI PHP版本

Scrutinizer

.scrutinizer.yml

build:
    environment:
        php:
            version: 7.0.8

    cache:
        directories:
            - ~/cphalcon

    dependencies:
        override:
            - composer install --prefer-source --no-interaction
        after: 
            - vendor/bin/install-phalcon.sh 3.0.x

注意:无需包含vendor/缓存目录,因为它会自动缓存。

参考:ScrutinizerCI PHP版本

Codeship

示例 设置命令

phpenv local 5.6
php --version
composer install --prefer-source --no-interaction
vendor/bin/install-phalcon.sh

参考:Codeship CI PHP版本

Shippable

shippable.yml

language: php
php:
  - 7.0

build:
  cache: true
    
  cache_dir_list:
    - $SHIPPABLE_BUILD_DIR/vendor
    - ~/cphalcon

  ci:
    - composer install --prefer-source --no-interaction
    - bin/install-phalcon.sh 3.0.x

参考:Shippable PHP版本