Пример #1
0
def main():
    args = parse_cli()
    stage = args.stage
    try:
        project_name = os.environ['CI_PROJECT_NAME']
    except KeyError:
        raise PipelineError('CI_PROJECT_NAME is not defilend')
    project_config = read_configuration(DEFAULT_CONFIG_FILE, 'build')
    steps = project_config[stage]['steps']

    for step in steps:
        logger.info('\nstep: {0}'.format(step))
        image_name = "{0}{1}".format(project_name,
                                     steps[step]['docker-image-suffix'])
        dockerfile = steps[step]['dockerfile']
        options = steps[step]['options']
        command = steps[step]['command']
        volumes = steps[step]['volumes']
        try:
            output = steps[step]['output']
        except KeyError:
            output = None
        docker.execute(image_name=image_name,
                       dockerfile=dockerfile,
                       options=options,
                       command=command,
                       volumes=volumes,
                       output=output)

    # if this is the package stage, we need to create an archive with our
    # php dependencies, and upload it to artifactory
    if stage == 'package':
        archive_and_upload()

    docker.cleanup_volumes('/app')
Пример #2
0
def main():
    args = parse_cli()
    stage = args.stage
    try:
        project_name = os.environ['CI_PROJECT_NAME']
    except KeyError:
        raise PipelineError('CI_PROJECT_NAME is not defilend')
    project_config = read_configuration(DEFAULT_CONFIG_FILE)
    steps = project_config[stage]['steps']

    for step in steps:
        logger.info('\nstep: {0}'.format(step))
        image_name = "{0}{1}".format(project_name,
                                     steps[step]['docker-image-suffix'])
        dockerfile = steps[step]['dockerfile']
        options = steps[step]['options']
        command = steps[step]['command']
        volumes = steps[step]['volumes']
        try:
            output = steps[step]['output']
        except KeyError:
            output = None
        docker.execute(image_name=image_name,
                       dockerfile=dockerfile,
                       options=options,
                       command=command,
                       volumes=volumes,
                       output=output)
        docker.cleanup_volumes('/app')
Пример #3
0
def main():
    """
    I am main(), I do deployments for you.
    """
    parser = argparse.ArgumentParser("cms deployment script")
    parser.add_argument('--environment', '-e', help='environment to deploy',
                        required=True)
    parser.add_argument('--version', '-v',
                        help='which version do you want to deploy?',
                        required=True)
    parser.add_argument('--config-file', '-c',
                        help='configuration file, defaults to: {0}'.format(
                            DEFAULT_CONFIG_FILE),
                        default=DEFAULT_CONFIG_FILE,
                        required=False)
    args = parser.parse_args()
    deploy(config_file=args.config_file,
           environment=args.environment,
           version=args.version)
    docker.cleanup_volumes('/app')
Пример #4
0
def main():
    """
    I am main(), I do deployments for you.
    """
    parser = argparse.ArgumentParser("cms deployment script")
    parser.add_argument('--environment', '-e', help='environment to deploy',
                        required=True)
    parser.add_argument('--version', '-v',
                        help='which version do you want to deploy?',
                        required=True)
    parser.add_argument('--config-file', '-c',
                        help='configuration file, defaults to: {0}'.format(
                            DEFAULT_CONFIG_FILE),
                        default=DEFAULT_CONFIG_FILE,
                        required=False)
    args = parser.parse_args()
    deploy(config_file=args.config_file,
           environment=args.environment,
           version=args.version)
    docker.cleanup_volumes('/app')

if __name__ == '__main__':
    try:
        main()
    except PipelineError as error:
        logger.error("{0} deployment stage failed".format(FAILED))
        logger.error(error)
        docker.cleanup_volumes('/app')
        sys.exit(1)