承接 continuousphp/sdk 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

continuousphp/sdk

最新稳定版本:0.9.3

Composer 安装命令:

composer require continuousphp/sdk

包简介

PHP SDK to consume continuousphp API

README 文档

README

Build Status

continuousphp SDK enables PHP developers to use continuousphp in their PHP code.

Installation

Install this package through Composer by adding this package in the require section

"require": {
    "continuousphp/sdk": "~0.3"
}

Usage

Initialize the SDK

<?php
require 'vendor/autoload.php';

$service = Continuous\Sdk\Service::factory();

Or use an access token to enable private data access

<?php
require 'vendor/autoload.php';

$service = Continuous\Sdk\Service::factory(['token' => 'my-access-token']);

Another way to use your access token consist in declaring it in CPHP_TOKEN environment variable

Get your repository list

$projects = $service->getRepositories();

Get your project list

$projects = $service->getProjects();

Get a specific project

$project = $service->getProject([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk'
]);

Create a specific project

$project = $service->createProject([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk'
]);

Get the deployment pipelines of a specific project

$project = $service->getPipelines([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk'
]);

Put a deployment pipelines of a specific project

$project = $service->putPipeline([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk',
    'ref' => 'refs/heads/master',
    'phpVersions' => [ '5.3.3', '5.3.max', '5.4.max', '5.5.max' ],
    'preparePhingTargets' => [ 'clean-up', 'setup-env', 'doctrine-proxies' ],
    'preDeployPhingTargets' => [ 'clean-up2', 'setup-env2', 'doctrine-proxies2' ],
    'preparePhingVariables' => [
        'env' => 'testing',
        'hostname' => 'site.com'
    'preDeployPhingVariables' => [
        'env' => 'production',
        'hostname' => 'site2.com'
    ],
    'prepareShellCommands => [
        'cd /path/to/folder1a; mkdir subfolder1a',
        'cd /path/to/folder1b; mkdir subfolder1b'
    ],
    'preDeployShellCommands' => [
        'cd /path/to/folder2a; mkdir subfolder2a',
        'cd /path/to/folder2b; mkdir subfolder2b'
    ],
    'deployOnSuccess' => '1',
    'createGitHubRelease' => '1',
    'packageRootPath' => '/path/to/package/root'
    'composerPath' => '/path/to/composer',
    'enableComposerCache' => '1',
    'runComposerHooksInPrepare' => '1',
    'runComposerHooksInPackage' => '1',
    'phingPath' => '/path/to/phing'
    'enabledTests' => [
        [
            'type' => 'phpunit',
            'paths' => [ '/path/one', '/path/two' ],
            'blocking' => '1',
            'phingTargets' => [ 'reset-db', 'insert-fixtures' ],
            'phingVariables' => [
                'env' => 'testing',
                'hostname' => 'site.com'
            ],
            'shellCommands' => [
                'cd /path/to/folder3a; mkdir subfolder3a',
                'cd /path/to/folder3b; mkdir subfolder3b'
            ]
        ],
        [
            'type' => 'atoum',
            'paths' => [ '/path/three', '/path/four' ],
            'configFiles' => [ '/config/one', '/config/two' ],
            'bootstrapFile' => '/path/to/bootstrap/file',
            'blocking' => '0',
            'phingTargets' => [ 'reset-db2', 'insert-fixtures2' ],
            'phingVariables' => [
                'env' => 'staging',
                'hostname' => 'site2.com'
            ]
        ],
        [
            'type' => 'phpcs',
            'paths' => [ '/path/five', '/path/six' ],
            'blocking' => '0',
            'phingTargets' => [ 'reset-db2', 'insert-fixtures2' ],
            'phingVariables' => [
                'env' => 'staging',
                'hostname' => 'site3.com'
            ],
            'container' => '5.3.3'
        ],
        [
            'type' => 'codeception',
            'paths' => [ '/path/seven', '/path/eight' ],
            'blocking' => '1',
            'phingTargets => [ 'reset-db3', 'insert-fixtures3' ],
            'phingVariables' => [
                'env' => 'production',
                'hostname' => 'site4.com'
            ]
        ],
        [
            'type' => 'phpspec',
            'paths' => [ '/path/nine', '/path/ten' ],
            'blocking' => '1',
            'phingTargets' => [ 'reset-db4', 'insert-fixtures4' ],
            'phingVariables' => [
                'env' => 'production',
                'hostname' => 'site5.com'
            ]
        ],
        [
            'type' => 'phpbench',
            'paths' => [ '/path/ten', '/path/eleven' ],
            'blocking' => '1',
            'phingTargets' => [ 'reset-db5', 'insert-fixtures5' ],
            'phingVariables' => [
                'env' => 'staging',
                'hostname' => 'site5.com'
            ]
        ],
        [
            'type' => 'behat',
            'paths' => [ '/path/ten', '/path/eleven' ],
            'blocking' => '1',
            'useProgressFormatter' => '1',
            'phingTargets' => [ 'reset-db6', 'insert-fixtures6' ],
            'phingVariables' => [
                'env' => 'staging',
                'hostname' => 'site6.com',
            ]
        ]
    ],
    'deployment' => [
        'type' => 'tarball',
        'destinations' => [
            [
                'name' => 'my first destination',
                'url' => '<url1>',
                'pullRequest' => '1',
            ],
            [
                'name' => 'my second destination',
                'url' => '<url2>',
                'pullRequest' => '0'
            ],
            [
                'name' => 'my third destination',
                'url' => '<url3>'
            ]
        ]
    ],
    'notificationHooks' => [
        [
            'type' => 'slack',
            'url' => 'https://slack.com/hook-url1'
            'events' => [
                'createBuild' => '1',
                'buildSuccess' => '1'
            ]
        ],
        [
            'type' => 'irc',
            'url' => 'chat.freenode.net',
            'channel' => '#testchannel',                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
            'port' => '1234',
            'events' => [
                'createBuild' => '1',
                'buildFail' => '1'
            ]
        ]
    ]
]);

Get the successful and in warning build list for a specific branch

$builds = $service->getBuilds([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk',
    'ref' => 'refs/heads/master',
    'state' => ['complete'],
    'result' => ['success', 'warning']
]);

Start a new build for a specific branch

$builds = $service->startBuild([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk',
    'ref' => 'refs/heads/master'
]);

Start a new build for a specific Pull Request

$builds = $service->startBuild([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk',
    'pull_request' => '21'
]);

Get the package download url of the last build

$package = $service->getPackage([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk',
    'buildId' => $builds['_embedded']['builds'][0]['buildId'],
    'packageType' => 'deploy'
]);
$url = $package['url'];

Download the package of the last build

$package = $service->downloadPackage([
    'provider' => 'git-hub',
    'repository' => 'continuousphp/sdk',
    'buildId' => $builds['_embedded']['builds'][0]['buildId'],
    'packageType' => 'deploy',
    'destination' => '/path-to-destination-folder'
]);
$packagePath = $package['path'];

统计信息

  • 总下载量: 48.19k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 7
  • Forks: 3
  • 开发语言: Gherkin

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2015-05-10