def __init__(self): self.__ARQUIVO_XML = NOME_PROJETO + "_" + SERVIDOR_DEPLOY + ".xml" self.__CAMINHO_ARQUIVO_XML = path.join(WORKING_DIRECTORY, "xml_configuracao", self.__ARQUIVO_XML) self.__ARTEFATO = NOME_PROJETO + ".ear" self.__CAMINHO_ARTEFATO = path.join(WORKING_DIRECTORY, self.__ARTEFATO) self.__ARQUIVO_CHAVE_SSH = "teste.ppk" self.__SENHA_SSH = getenv("SENHA_SSH") self.__USUARIO_SSH = environ.get("UsuarioSSH") self.__REVISION_XML = getenv("GO_REVISION_XML_CONFIGURACAO") # variavel originada no implantar_artefato self.__MUDANCA = getenv("NUMERO_MUDANCA") self.__verificar_dependencias() self.__servidor_master = getenv("SERVIDOR_MASTER")
def __init__(self): self.USUARIO_SSH = "tfsservice" self.ARQUIVO_CHAVE_SSH = "id_rsa" self.CAMINHO_CONF_APACHE = "/etc/httpd/scripts/arquivos/" self.script_reload_apache = "/etc/httpd/scripts/DeployApache.sh" self.PORTA_SERVICO = getenv("PORTA_SERVICO") self.PASTA_CONF_APACHE = getenv("PASTA_CONF_APACHE") # lista dos servidores apache, separado por virgula self.SERVIDORES_APACHE = getenv("SERVIDORES_APACHE") # lista dos servidores de load balance, separado por virgula self.SERVIDORES_LOAD_BALANCE = getenv("SERVIDORES_LOAD_BALANCE")
def __init__(self): self.__SENHA_TOMCAT = getenv("SENHA_TOMCAT") self.__CONTEXT_PATH = getenv("ContextPath") self.__DOMINIO_TOMCAT = getenv("DominioTomcat") self.__SERVIDOR_PORTA_TOMCAT = getenv("ServidorPortaTomcat") self.__APLICACAO_PARAR = getenv("AplicacaoParar") self.__TEMPO_ESPERAR = getenv("TempoEsperar") self.__USUARIO_TOMCAT = getenv("UsuarioTomcat") self.__USUARIO_SSH = getenv("UsuarioSSH") self.__SENHA_SSH = getenv("SenhaSSH") self.__ARQUIVO_CHAVE_SSH = getenv("ArquivoChaveSSH") # Chamada ao metodo responsavel por verificar se todas as dependencias foram inicializadas corretamente self.__verificar_dependencias()
def atualizar_conf_apache(self): novo_servidor_backend = getenv("NOVO_SERVIDOR_BACKEND") if novo_servidor_backend: self.editar_conf_apache(novo_servidor_backend) chave = DIRETORIO_CHAVES_SERVIDORES + self.ARQUIVO_CHAVE_SSH for servidor in self.SERVIDORES_APACHE.split(","): pasta_servidor = self.PASTA_CONF_APACHE + "/" + servidor ssh = SSH(servidor, self.USUARIO_SSH) ssh.chave_acesso(chave) ssh.abrir_conexao() for arquivo_conf in listdir(pasta_servidor): if arquivo_conf.endswith(".conf"): ssh.enviar_arquivo(pasta_servidor + "/" + arquivo_conf, self.CAMINHO_CONF_APACHE) comando_reload_apache = "{} {}".format(self.script_reload_apache, arquivo_conf) ssh.executar_comando(comando_reload_apache) ssh.fechar_conexao()
def __init__(self): self.arquivo_envio = NOME_PROJETO + '.' + getenv("EXTENSAO").lower() self.servidor_ssh = getenv("SERVIDOR_SSH") self.senha_ssh = getenv("SENHA_SSH") self.usuario_ssh = getenv("USUARIO_SSH") self.arquivo_chave_ssh = getenv("ArquivoChaveSSH") self.diretorio_ssh = getenv("DIRETORIO_SSH") if not NOME_PROJETO: Log.imprime("NOME DO PROJETO NAO INFORMADO", "ERRO NA IMPLANTACAO VIA SSH.", classe=ImplantadorSSH) exit(1) if not getenv("EXTENSAO"): Log.imprime("EXTENSAO DO ARQUIVO DE ENVIO NAO INFORMADA", "ERRO NA IMPLANTACAO VIA SSH.", classe=ImplantadorSSH) exit(1) if not self.servidor_ssh: Log.imprime("SERVIDOR NAO INFORMADO", "ERRO NA IMPLANTACAO VIA SSH.", classe=ImplantadorSSH) exit(1) if not self.senha_ssh and not self.arquivo_chave_ssh: Log.imprime("NENHUMA FORMA DE AUTENTICACAO INFORMADA", "ERRO NA IMPLANTACAO VIA SSH.", classe=ImplantadorSSH) exit(1) if not self.usuario_ssh: Log.imprime("USUARIO NAO INFORMADO", "ERRO NA IMPLANTACAO VIA SSH.", classe=ImplantadorSSH) exit(1) if not self.diretorio_ssh: Log.imprime("DIRETORIO PARA ENVIO NAO INFORMADO", "ERRO NA IMPLANTACAO VIA SSH.", classe=ImplantadorSSH) exit(1)
from python.assistentes.SSH import SSH from python.assistentes.log import Log from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES __USUARIO_SSH = getenv("UsuarioSSH") __SENHA_SSH = getenv("SenhaSSH") __ARQUIVO_CHAVE_SSH = getenv("ArquivoChaveSSH") __SERVIDOR_SSH = getenv("ServidorSSH") if not __ARQUIVO_CHAVE_SSH and not __SENHA_SSH: Log.imprime("Arquivo chave para SSH ou a senha para SSH nao foi informado", "ERRO NA VALIDACAO DO NAGIOS", script="nagios_validar_configuracao.py", mensagem_de_erro=True) exit(1) if not __USUARIO_SSH: __USUARIO_SSH = "tfsservice" ssh = SSH(__SERVIDOR_SSH, __USUARIO_SSH) if __SENHA_SSH: ssh.senha(__SENHA_SSH) elif __ARQUIVO_CHAVE_SSH: chave = DIRETORIO_CHAVES_SERVIDORES + __ARQUIVO_CHAVE_SSH ssh.chave_acesso(chave) ssh.abrir_conexao() ssh.executar_comando("sleep 30") ssh.executar_comando( "/usr/local/nagios/libexec/webinject.pl -c conf/classif567_cfg.xml") ssh.executar_comando(
def __init__(self): self.host_ftp = getenv("SERVIDOR_FTP") self.usuario_ftp = getenv("USUARIO_FTP") self.senha_ftp = getenv("SENHA_FTP") self.nome_arquivo_configuracao_ambiente = getenv( "NOME_ARQUIVO_CONFIGURACAO_AMBIENTE") self.ambiente = getenv("AMBIENTE") self.caminho_compartilhamento = getenv("CAMINHO_COMPARTILHAMENTO") self.ssl = getenv("SSL") self.diretorio_ftp = getenv("DIRETORIO_FTP") self.diretorio_descompactacao = "descompactado" self.pastas_nao_apagar = getenv("PASTAS_NAO_APAGAR") self.servidor_ssh = getenv("SERVIDOR_SSH") self.senha_ssh = getenv("SENHA_SSH") self.usuario_ssh = getenv("USUARIO_SSH") self.arquivo_chave_ssh = getenv("ARQUIVO_CHAVE_SSH") self.diretorio_ssh = getenv("DIRETORIO_SSH")
from sys import argv from time import sleep import requests from python.assistentes.SSH import SSH from python.assistentes.log import Log from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES etapa = None for parametro in argv: if "-etapa" in parametro: etapa = str(parametro.replace("-etapa=", "")) CONTEXT_PATH = getenv("ContextPath") SERVIDOR_PORTA_TOMCAT = getenv("ServidorPortaTomcat") CAMINHO_HEALTHCHECK = getenv("CaminhoArquivoHealthCheck") USUARIO_SSH = getenv("UsuarioSSH") SENHA_SSH = getenv("SenhaSSH") ARQUIVO_CHAVE_SSH = getenv("ArquivoChaveSSH") URL_VERIFICACAO = getenv("CaminhoUrlVerificacao") if not CONTEXT_PATH: Log.imprime("CONTEXT_PATH nao informado", "ERRO NO LOAD BALANCE", script="manipular_load_balance.py", mensagem_de_erro=True) exit(1) if not CAMINHO_HEALTHCHECK:
import os.path from traceback import format_exc from python.apis.api_sonar import Sonar from python.assistentes.log import Log from python.envio_email.envio_email import Email from python.mongo.informacoes_artefatos_gocd import InformacoesArtefatos from python.settings import getenv, NOME_PROJETO, NOME_EQUIPE, DESTINATARIOS_EMAIL, PIPELINE_NAME, WORKING_DIRECTORY from python.tipos_arquivos.arquivo_xml import ArquivoXML try: string_assunto = "INFORMACOES SOBRE QUALIDADE DO PRODUTO " + NOME_PROJETO string_mensagem = "" metodo_armazenamento = getenv("METODO_ARMAZENAMENTO_INFO_TESTES") if metodo_armazenamento == "SONAR": sonar = Sonar(getenv("NOME_PROJETO_SONAR")) informacoes = InformacoesArtefatos(NOME_EQUIPE, NOME_PROJETO) cobertura_testes_unitarios_anterior = float( informacoes.obter_cobertura_testes_unitarios()) if cobertura_testes_unitarios_anterior == "": cobertura_testes_unitarios_anterior = 0 quantidade_issues_total_aplicacao_anterior = int( informacoes.obter_quantidade_issues_total_aplicacao()) if quantidade_issues_total_aplicacao_anterior == "": quantidade_issues_total_aplicacao_anterior = 0
from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES from python.assistentes.SSH import SSH from sys import argv etapa = None for parametro in argv: if "-etapa" in parametro: etapa = str(parametro).replace("-etapa=", "") SERVIDOR_LOADBALANCE = getenv("SERVIDOR_LOADBALANCE") USUARIO_LOADBALANCE = "tfsservice" SENHA_LOADBALANCE = getenv("SENHA_LOADBALANCE") ARQUIVO_CHAVE_SSH = "teste.ppk" BACKEND = getenv("BACKEND") SERVIDOR_BACKEND = getenv("SERVIDOR_BACKEND") ssh = SSH(SERVIDOR_LOADBALANCE, USUARIO_LOADBALANCE) if SENHA_LOADBALANCE: ssh.senha(SENHA_LOADBALANCE) elif ARQUIVO_CHAVE_SSH: chave = DIRETORIO_CHAVES_SERVIDORES + ARQUIVO_CHAVE_SSH ssh.chave_acesso(chave) ssh.abrir_conexao() for BKE in BACKEND.split(","): if etapa.lower() == "pre_deploy": comando_ssh = "echo disable server " + BKE + "/" + SERVIDOR_BACKEND \ + " | sudo nc -U /var/lib/haproxy/stats" else:
from python.assistentes.SSH import SSH from python.settings import getenv, DIRETORIO_CHAVES_SERVIDORES SERVIDOR = getenv("SERVIDOR") CAMINHO = getenv("CAMINHO") COMANDO = getenv("COMANDO") PARAMETROS = getenv("PARAMETROS") USUARIO_SSH = getenv("USUARIO_SSH") SENHA_SSH = getenv("SENHA_SSH") ARQUIVO_CHAVE_SSH = getenv("ARQUIVO_CHAVE_SSH") ssh = SSH(SERVIDOR, USUARIO_SSH) if SENHA_SSH: ssh.senha(SENHA_SSH) elif ARQUIVO_CHAVE_SSH: chave = DIRETORIO_CHAVES_SERVIDORES + ARQUIVO_CHAVE_SSH ssh.chave_acesso(chave) ssh.abrir_conexao() comando_executar = None if PARAMETROS: comando_executar = "cd %s; ./%s %s" % (CAMINHO, COMANDO, PARAMETROS) else: comando_executar = "cd %s; ./%s" % (CAMINHO, COMANDO) ssh.executar_comando(comando_executar) ssh.fechar_conexao()