Esempio n. 1
0
    def _run_deploy(args):
        assert args.environ
        if args.environ in ('qa', 'client'):
            assert args.version

        gitflow = GitFlow()

        branches = {
                'develop':    gitflow.develop_name(),
                'qa':         gitflow.managers['release'].full_name(args.version),
                'production': gitflow.master_name(),
        }

        if gitflow.is_circleci_enabled():
            branches['client'] = gitflow.client_name()
            _deploy_circleci(gitflow, branches, args.environ)
        else:
            branches['client'] = gitflow.managers['release'].full_name(args.version)
            _deploy_jenkins(gitflow, branches, args.environ)
Esempio n. 2
0
    def _run_deploy(args):
        assert args.environ
        if args.environ in ('qa', 'client'):
            assert args.version

        gitflow = GitFlow()

        branches = {
            'develop': gitflow.develop_name(),
            'qa': gitflow.managers['release'].full_name(args.version),
            'production': gitflow.master_name(),
        }

        if gitflow.is_circleci_enabled():
            branches['client'] = gitflow.client_name()
            _deploy_circleci(gitflow, branches, args.environ)
        else:
            branches['client'] = gitflow.managers['release'].full_name(
                args.version)
            _deploy_jenkins(gitflow, branches, args.environ)
Esempio n. 3
0
    def run_stage(args):
        assert args.version
        pivotal.check_version_format(args.version)

        gitflow = GitFlow()

        # Check the repository if CircleCI is enabled.
        if gitflow.is_circleci_enabled():
            _try_deploy_circleci(gitflow, args.version)

        # Check if all stories were QA'd
        pt_release = pivotal.Release(args.version)
        print('Checking Pivotal Tracker stories ... ')
        pt_release.try_stage()
        print('OK')

        # Check if all relevant review requests are there
        rb_release = review.Release(pt_release)
        print('Checking Review Board review requests ... ')
        rb_release.try_stage(args.ignore_missing_reviews)
        print('OK')

        # Deliver all relevant PT stories
        print('Delivering all relevant Pivotal Tracker stories ... ')
        pt_release.stage()
        print('OK')

        # Trigger the deployment job
        if not args.skip_deployment:
            args.environ = 'client'
            args.no_check = True
            DeployCommand.run_release(args)

        print
        print "Follow-up actions:"
        print "- Wait for the client to accept all the stories."
        print "- When all is done, run"
        print
        print "     git flow release finish", args.version
        print
        print "  to perform the final merge, tagging and cleanup."
Esempio n. 4
0
    def run_stage(args):
        assert args.version
        pivotal.check_version_format(args.version)

        gitflow = GitFlow()

        # Check the repository if CircleCI is enabled.
        if gitflow.is_circleci_enabled():
            _try_deploy_circleci(gitflow, args.version)

        # Check if all stories were QA'd
        pt_release = pivotal.Release(args.version)
        print('Checking Pivotal Tracker stories ... ')
        pt_release.try_stage()
        print('OK')

        # Check if all relevant review requests are there
        rb_release = review.Release(pt_release)
        print('Checking Review Board review requests ... ')
        rb_release.try_stage(args.ignore_missing_reviews)
        print('OK')

        # Deliver all relevant PT stories
        print('Delivering all relevant Pivotal Tracker stories ... ')
        pt_release.stage()
        print('OK')

        # Trigger the deployment job
        if not args.skip_deployment:
            args.environ = 'client'
            args.no_check = True
            DeployCommand.run_release(args)

        print
        print "Follow-up actions:"
        print "- Wait for the client to accept all the stories."
        print "- When all is done, run"
        print
        print "     git flow release finish", args.version
        print
        print "  to perform the final merge, tagging and cleanup."