コード例 #1
0
    // Copy files from prod to the configured environment.
    update_console('Copying files from prod to ' . $environment . '.');
    $cloudapi->copyFiles($site, 'prod', $environment);
}
if ($copy_database) {
    // Copy database from prod to the configured environment (wait for completion).
    update_console('Copying database from prod to ' . $environment . '...');
    $database = $cloudapi->copyDatabase($site, $database, 'prod', $environment);
    if (wait_for_task_to_complete($cloudapi, $site, $database->id())) {
        update_console('...complete!');
    }
}
// Deploy tag to the environment.
update_console('Deploying tag ' . $tag . ' to ' . $environment . '...');
$code = $cloudapi->pushCode($site, $environment, $tag);
if (wait_for_task_to_complete($cloudapi, $site, $code->id())) {
    update_console('...complete!');
}
// Congratulations, it's all over!
update_console('Deployment complete!');
/**
 * Pause until a given task is completed.
 *
 * @param int $id
 *   The task ID.
 *
 * @todo - This currently will loop infinitely if you pass an invalid task id.
 *   Consider fixing that ;-)
 */
function wait_for_task_to_complete($cloudapi, $site, $id = 0)
{
コード例 #2
0
 *
 */
require_once 'vendor/autoload.php';
// Buffer output.
ob_start();
use Acquia\Cloud\Api\CloudApiClient;
// Build Cloud API client connection.
$cloudapi = CloudApiClient::factory(array('username' => getenv('ACQUIA_CLOUD_USERNAME'), 'password' => getenv('ACQUIA_CLOUD_PASSWORD')));
// Set up other required variables.
$environment = getenv('ACQUIA_CLOUD_ENVIRONMENT');
$site = getenv('ACQUIA_CLOUD_SITENAME');
$destination = getenv('ACQUIA_CLOUD_DATABASE_DESTINATION');
// Create a database backup (wait for completion).
update_console('Backing up database in ' . $environment . ' environment...');
$backup = $cloudapi->createDatabaseBackup('devcloud:' . $site, $environment, $site);
if (wait_for_task_to_complete($cloudapi, 'devcloud:' . $site, $backup->id())) {
    update_console('...complete!');
    $result = json_decode($cloudapi->task('devcloud:' . $site, $backup->id())->result());
    $bid = $result->backupid;
}
$download = $cloudapi->downloadDatabaseBackup('devcloud:' . $site, $environment, $site, $bid, $destination . 'ac-dump.sql.gz');
/**
 * Pause until a given task is completed.
 *
 * @param int $id
 *   The task ID.
 *
 * @todo - This currently will loop infinitely if you pass an invalid task id.
 *   Consider fixing that ;-)
 */
function wait_for_task_to_complete($cloudapi, $site, $id = 0)