UNPKG

@atomist/sample-sdm

Version:

Sample Atomist automation for software delivery

62 lines 3.21 kB
"use strict"; /* * Copyright © 2018 Atomist, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const SetDeployEnablement_1 = require("@atomist/sdm/handlers/commands/SetDeployEnablement"); const CloudFoundryBlueGreenDeployer_1 = require("@atomist/sdm/pack/pcf/CloudFoundryBlueGreenDeployer"); const EnvironmentCloudFoundryTarget_1 = require("@atomist/sdm/pack/pcf/EnvironmentCloudFoundryTarget"); const addCloudFoundryManifest_1 = require("./addCloudFoundryManifest"); /** * Deploy everything to the same Cloud Foundry space */ function cloudFoundryStagingDeploySpec(opts) { return { deployer: new CloudFoundryBlueGreenDeployer_1.CloudFoundryBlueGreenDeployer(opts.projectLoader), targeter: () => new EnvironmentCloudFoundryTarget_1.EnvironmentCloudFoundryTarget("staging"), }; } exports.cloudFoundryStagingDeploySpec = cloudFoundryStagingDeploySpec; function cloudFoundryProductionDeploySpec(opts) { return { deployer: new CloudFoundryBlueGreenDeployer_1.CloudFoundryBlueGreenDeployer(opts.projectLoader), targeter: () => new EnvironmentCloudFoundryTarget_1.EnvironmentCloudFoundryTarget("production"), }; } exports.cloudFoundryProductionDeploySpec = cloudFoundryProductionDeploySpec; const EnableDeployOnCloudFoundryManifestAdditionListener = (pil) => __awaiter(this, void 0, void 0, function* () { const commit = pil.commit; const repo = commit.repo; const push = commit.pushes[0]; if (push.commits.some(c => c.message.includes(addCloudFoundryManifest_1.AddCloudFoundryManifestMarker))) { yield SetDeployEnablement_1.setDeployEnablement(true)(pil.context, { repo: repo.name, owner: repo.owner, providerId: repo.org.provider.providerId }); } }); /** * Enable deployment when a PCF manifest is added to the default branch. */ exports.EnableDeployOnCloudFoundryManifestAddition = { name: "EnableDeployOnCloudFoundryManifestAddition", action: EnableDeployOnCloudFoundryManifestAdditionListener, }; //# sourceMappingURL=cloudFoundryDeploy.js.map