Пример #1
0
def next_version(app, target, repository, deploy_settings):
    """Produce a suitable next version for app, based on existing versions"""
    try:
        latest_version = repository.latest_version(app, target=target)
    except KeyError:
        if target != 'master':
            return next_version(app, 'master', repository, deploy_settings)
        return '0'

    # 1 -> 1.1, 1.1 -> 1.2
    version = latest_version.split('.')
    if len(version) == 1:
        version.append('1')
    else:
        version[-1] = str(int(version[-1]) + 1)
    return '.'.join(version)
Пример #2
0
def deploy(app, target, config, version, deploy_settings):
    """Deploy an application."""
    if app not in available_applications(deploy_settings):
        log.error('This application is not in the available applications '
                  'list. Please check your deploy config.')
        sys.exit(1)

    repository = yodeploy.repository.get_repository(deploy_settings)
    application = yodeploy.application.Application(app, config)

    old_version = application.live_version
    if version is None:
        version = repository.latest_version(app, target)

    application.deploy(target, repository, version)
    report(application.app, 'deploy', target, old_version, version,
           deploy_settings)