Exemplo n.º 1
0
    else:
        # This deployer is only every supposed to accept releases from Orlo
        # Other deployers could use this to detect whether they are being invoked by Orlo
        raise DeployerError("Could not detect ORLO_URL from environment")

    if os.getenv('ORLO_RELEASE'):
        orlo_release = os.environ['ORLO_RELEASE']
    else:
        raise DeployerError("Could not detect ORLO_RELEASE in environment")

    packages, metadata = get_params()

    orlo_client = OrloClient(uri=orlo_url)
    # The release is created in Orlo before being handed to the deployer
    # So fetch it here
    release = orlo_client.get_release(orlo_release)

    # TODO - using package info from arguments makes no sense when we could fetch from Orlo
    orlo_packages = []
    for p, v in packages.items():
        info("Creating Package {}:{}".format(p, v))
        pkg = orlo_client.create_package(release, p, v)
        orlo_packages.append(pkg)

    info("Starting Release")
    for pkg in orlo_packages:
        info("Deploying {}".format(pkg.name))
        deploy(pkg, meta=metadata)
    info("Finishing Release")

    orlo_client.release_stop(release)