예제 #1
0
def get_and_add_docker_jenkins_config(jenkins_docker_path):
    """
        Launch a dockerized Jenkins server.
    """
    encrypt_passwd = hashlib.md5()
    encrypt_passwd.update(str(datetime.datetime.now()))
    jenkins_passwd = encrypt_passwd.hexdigest()

    use_existing_vpc = raw_input(
        """\nWould you like to use existing VPC for ECS? [y/n] :""")
    if use_existing_vpc == 'y':
        existing_vpc_id = raw_input("Enter the VPC ID :")
        replace_tfvars('existing_vpc_ecs', existing_vpc_id, get_tfvars_file())
    else:
        replace_tfvars_map("autovpc", "true", get_tfvars_file())
        desired_vpc_cidr = raw_input(
            "Enter the desired CIDR for VPC (default - 10.0.0.0/16) :"
        ) or "10.0.0.0/16"
        replace_tfvars("vpc_cidr_block", desired_vpc_cidr, get_tfvars_file())

    # Get values to create the array
    parameter_list = [
        "replaceme", "admin", jenkins_passwd, "replaceme", "root", "2200",
        "replaceme", "replaceme"
    ]
    print(parameter_list[0:])

    add_jenkins_config_to_files(parameter_list)
예제 #2
0
def add_sonar_config_to_files(sonar_server_elb, sonar_username, sonar_passwd):
    """
        Add Sonar configuration to terraform.tfvars
     """

    replace_tfvars('sonar_server_elb', sonar_server_elb, get_tfvars_file())
    replace_tfvars('sonar_username', sonar_username, get_tfvars_file())
    replace_tfvars('sonar_passwd', sonar_passwd, get_tfvars_file())
    replace_tfvars('codeq', 1, get_tfvars_file())
예제 #3
0
def get_and_add_docker_gitlab_config(gitlab_docker_path,
                                     parameter_cred_list=[]):
    """
        Launch a Dockerized Gitlab server.
    """
    scm_username = re.sub('[^a-zA-Z0-9_-]', '-', str(parameter_cred_list[0]))
    scm_passwd = str(parameter_cred_list[1])
    replace_tfvars_map("scmbb", "false", get_tfvars_file())
    replace_tfvars_map("scmgitlab", "true", get_tfvars_file())
    add_gitlab_config_to_files("replaceme", scm_username, scm_passwd)
예제 #4
0
def add_gitlab_config_to_files(parameter_list):
    """
    Add gitlab configuration to terraform.tfvars
    parameter_list = [  gitlab_public_ip ,
                        gitlab_username,
                        gitlab_passwd ]
    """
    print("Adding Gitlab config to Terraform variables")
    replace_tfvars('scm_publicip', parameter_list[0], get_tfvars_file())
    replace_tfvars('scm_elb', parameter_list[0], get_tfvars_file())
    replace_tfvars('scm_username', parameter_list[1], get_tfvars_file())
    replace_tfvars('scm_passwd', parameter_list[2], get_tfvars_file())
예제 #5
0
def get_and_add_existing_jenkins_config(terraform_folder):
    """
        Get the exisintg Jenkins server details from user , validate and change
        the config files.
    """
    os.chdir(terraform_folder)

    # Get Existing Jenkins Details form user
    print "\nPlease provide Jenkins Details.."
    jenkins_server_elb = raw_input(
        """\nInstaller would like to install and configure the following \
        jenkins plugins.
    'https://github.com/tmobile/jazz-installer/wiki/Jazz-Supported-Installations#jenkins-plugins'
    If jenkins is already configured with any of these plugins, please \
        provide a blank jenkins and continue. \
    Yes to proceed and No to abort [y/n] :""")

    if jenkins_server_elb != 'y':
        sys.exit("")

    jenkins_server_elb = raw_input(
        "Jenkins URL (Please ignore http and port number from URL) :")
    jenkins_username = raw_input("Jenkins username :"******"Jenkins password :"******"Great! We can proceed with this jenkins user....We will need few more details of Jenkins server"
        )
    else:
        sys.exit(
            "Kindly provide an 'Admin' Jenkins user with correct password and run the installer again!"
        )

    # get the jenkinsserver public IP and SSH login
    jenkins_server_public_ip = raw_input("Jenkins Server PublicIp :")
    jenkins_server_ssh_login = raw_input("Jenkins Server SSH login name :")

    # Default Jenkins instance ssh Port
    jenkins_server_ssh_port = "22"

    # TODO - This is a temporary fix - We need to check why this is needed and should not ask this.
    jenkins_server_security_group = raw_input(
        "Jenkins Server Security Group Name :")
    jenkins_server_subnet = raw_input("Jenkins Server Subnet :")

    # Create paramter list
    parameter_list = [
        jenkins_server_elb, jenkins_username, jenkins_passwd,
        jenkins_server_public_ip, jenkins_server_ssh_login,
        jenkins_server_ssh_port, jenkins_server_security_group,
        jenkins_server_subnet
    ]

    replace_tfvars_map("dockerizedJenkins", "false", get_tfvars_file())

    add_jenkins_config_to_files(parameter_list)
예제 #6
0
def get_and_add_docker_sonar_config(sonar_docker_path):
    """
        Launch a dockerized Sonar server.
    """
    encrypt_passwd = hashlib.md5()
    encrypt_passwd.update(str(datetime.datetime.now()))
    sonar_passwd = encrypt_passwd.hexdigest()
    replace_tfvars_map("dockerizedSonarqube", "true", get_tfvars_file())
    add_sonar_config_to_files("replaceme", "admin", sonar_passwd)
예제 #7
0
def add_gitlab_config_to_files(scm_publicip, scm_username, scm_passwd):
    """
    Add gitlab configuration to terraform.tfvars
    parameter_list = [  scm_publicip ,
                        scm_username,
                        scm_passwd ]
    """
    print("Adding Gitlab config to Terraform variables")
    replace_tfvars('scm_publicip', scm_publicip, get_tfvars_file())
    replace_tfvars('scm_elb', scm_publicip, get_tfvars_file())
    replace_tfvars('scm_username', scm_username, get_tfvars_file())
    replace_tfvars('scm_passwd', scm_passwd, get_tfvars_file())
    replace_tfvars('scm_type', 'gitlab', get_tfvars_file())
    replace_tfvars('scm_pathext', '/', get_tfvars_file())
예제 #8
0
def add_jenkins_config_to_files(parameter_list):
    """
        Adding Jenkins Server configuration details to terraform.tfvars
           parameter_list = [   jenkins_server_elb ,
                                jenkins_username,
                                jenkins_passwd,
                                jenkins_server_public_ip,
                                jenkins_server_ssh_login,
                                jenkins_server_ssh_port,
                                jenkins_server_security_group,
                                jenkins_server_subnet]
    """

    replace_tfvars('jenkins_elb', parameter_list[0], get_tfvars_file())
    replace_tfvars('jenkinsuser', parameter_list[1], get_tfvars_file())
    replace_tfvars('jenkinspasswd', parameter_list[2], get_tfvars_file())
    replace_tfvars('jenkins_public_ip', parameter_list[3], get_tfvars_file())
    replace_tfvars('jenkins_ssh_login', parameter_list[4], get_tfvars_file())
    replace_tfvars('jenkins_ssh_port', parameter_list[5], get_tfvars_file())
    replace_tfvars('jenkins_security_group', parameter_list[6],
                   get_tfvars_file())
    replace_tfvars('jenkins_subnet', parameter_list[7], get_tfvars_file())
예제 #9
0
def add_sonar_config_to_files(parameter_list):
    """
        Add Sonar configuration to terraform.tfvars
        parameter_list = [  sonar_server_elb ,
                            sonar_username,
                            sonar_passwd,
                            sonar_server_public_ip]
     """

    replace_tfvars('sonar_server_elb', parameter_list[0], get_tfvars_file())
    replace_tfvars('sonar_username', parameter_list[1], get_tfvars_file())
    replace_tfvars('sonar_passwd', parameter_list[2], get_tfvars_file())
    replace_tfvars('sonar_server_public_ip', parameter_list[3], get_tfvars_file())
    replace_tfvars('codequality_type', 'sonarqube', get_tfvars_file())
    replace_tfvars('codeq', 1, get_tfvars_file())
예제 #10
0
def add_bitbucket_config_to_files(parameter_list):
    """
        Add bitbucket configuration to terraform.tfvars
        parameter_list = [  bitbucket_server_elb ,
                            bitbucket_username,
                            bitbucket_passwd,
                            bitbucket_server_public_ip]
     """

    replace_tfvars('scm_elb', parameter_list[0], get_tfvars_file())
    replace_tfvars('scm_username', parameter_list[1], get_tfvars_file())
    replace_tfvars('scm_passwd', parameter_list[2], get_tfvars_file())
    replace_tfvars('scm_publicip', parameter_list[3], get_tfvars_file())
    replace_tfvars('scm_type', 'bitbucket', get_tfvars_file())
    replace_tfvars('scm_pathext', '/scm', get_tfvars_file())
예제 #11
0
>>>>>>> upstream/master

def get_and_add_docker_sonar_config(sonar_docker_path):
    """
        Launch a dockerized Sonar server.
    """
<<<<<<< HEAD
    os.chdir(sonar_docker_path)
    print("Running docker launch script")
    subprocess.call([
        'sg', 'docker', './launch_sonar_docker.sh', '|', 'tee', '-a',
        '../../docker_creation.out'
    ])
    # Get values to create the array
    parameter_list = []
    with open("docker_sonar_vars") as f:
        for line in f:
            parameter_list.append(line.rstrip())

    print(parameter_list[0:])

    add_sonar_config_to_files(parameter_list)
=======
    encrypt_passwd = hashlib.md5()
    encrypt_passwd.update(str(datetime.datetime.now()))
    sonar_passwd = encrypt_passwd.hexdigest()
    replace_tfvars_map("dockerizedSonarqube", "true", get_tfvars_file())
    add_sonar_config_to_files("replaceme", "admin", sonar_passwd)
>>>>>>> upstream/master
예제 #12
0
    jenkins_server_security_group = raw_input(
        "Jenkins Server Security Group Name :")
    jenkins_server_subnet = raw_input("Jenkins Server Subnet :")

    # Create paramter list
    parameter_list = [
        jenkins_server_elb, jenkins_username, jenkins_passwd,
        jenkins_server_public_ip, jenkins_server_ssh_login,
        jenkins_server_ssh_port, jenkins_server_security_group,
        jenkins_server_subnet
    ]

<<<<<<< HEAD
    subprocess.call([
        'sed', "-i\'.bak\'",
        r's|\(dockerizedJenkins = \)\(.*\)|\1false|g', get_tfvars_file()
    ])
=======
    replace_tfvars_map("dockerizedJenkins", "false", get_tfvars_file())
>>>>>>> upstream/master

    add_jenkins_config_to_files(parameter_list)


def get_and_add_docker_jenkins_config(jenkins_docker_path):
    """
        Launch a dockerized Jenkins server.
    """
<<<<<<< HEAD
    os.chdir(jenkins_docker_path)
    print("Running docker launch script")
예제 #13
0

def add_gitlab_config_to_files(scm_publicip, scm_username, scm_passwd):
    """
    Add gitlab configuration to terraform.tfvars
    parameter_list = [  scm_publicip ,
                        scm_username,
                        scm_passwd ]
    """
    print("Adding Gitlab config to Terraform variables")
    replace_tfvars('scm_publicip', scm_publicip, get_tfvars_file())
    replace_tfvars('scm_elb', scm_publicip, get_tfvars_file())
    replace_tfvars('scm_username', scm_username, get_tfvars_file())
    replace_tfvars('scm_passwd', scm_passwd, get_tfvars_file())
>>>>>>> upstream/master
    replace_tfvars('scm_type', 'gitlab', get_tfvars_file())
    replace_tfvars('scm_pathext', '/', get_tfvars_file())


def get_and_add_docker_gitlab_config(gitlab_docker_path, parameter_cred_list=[]):
    """
        Launch a Dockerized Gitlab server.
    """
<<<<<<< HEAD
    os.chdir(gitlab_docker_path)
    print("Running docker launch script  for gitlab")

    subprocess.call([
        'sg', 'docker',  './launch_gitlab_docker.sh %s %s' %( str(parameter_cred_list[1]) , str(parameter_cred_list[0])), '|', 'tee', '-a',
        '../../gitlab_creation.out'
    ])