| Data de elaboração | 05/12/2023 |
| Responsável pelo estudo | Renato Nascimento de Lima |
| Equipe do estudo | Renato Nascimento de Lima, Vinicius Rosa |
| Alvos | Portal Diof, WordPress |
| Origem | Eu, Esquadrão Suicida, preciso realizar estudo técnico para viabilizar a transferência do Portal Diof WordPress para o Gitlab |
| Objetivo | Avaliar a estratégia de migração mais adequada e realizar uma análise eficiente para transferir o projeto WordPress do Portal do Diof para o Gitlab. |
| Documentação correlata | |
| Observações |
O objetivo deste estudo é oferecer um roteiro detalhado para a transferência do 'Portal do Diof', que utiliza o WordPress, para um repositório no GitLab. Além disso, busca-se demonstrar a criação eficiente de ambientes de desenvolvimento, teste e produção. O intuito é fornecer diretrizes claras para simplificar e otimizar o gerenciamento desse portal, desde a migração até a implementação de ambientes específicos.
Este estudo técnico explora a transferência do 'Portal do Diof', baseado no CMS WordPress, para um repositório no GitLab. O foco principal reside na estratégia de criação de ambientes distintos para desenvolvimento, teste e produção. O objetivo é oferecer uma análise detalhada do processo de transferência e implementação desses ambientes, visando otimizar a gestão e manutenção do portal online.
Para realiza a clonagem dos projetos dos portais (atualmente), é necessário acessar a respectiva VM (máquina virtual) onde fica o diretório onde estão os arquivos wordpress do portal diof, sendo necessário acessa via aplicação “SenhaSegura” da SETIC.
Para acessar o SenhaSegura, o desenvolvedor utilizará as mesmas credenciais do Sauron, além de utilizar o aplicativo Microsoft Authenticator, para gerar um token de autorização para o dispositivo em que está tentando acessar o sistema, o Microsoft Authenticator está disponível nas versões Desktop (Windows) e Mobile (Android e iOS).
Link para download: https://www.microsoft.com/pt-br/security/mobile-authenticator-app
Ao conseguir acessar o painel do SenhaSegura o desenvolvedor terá a lista de VM's (máquinas virtuais) liberadas no seu nível de acesso para a acessar os servidores onde estarão os diretórios dos respectivos projetos.
O desenvolvedor vai selecionar o server onde encontra-se o diretório do projeto, vai selecionar o item de 3 pontos para mais opções, em seguida clicar em >_Putty para realizar o download de um arquivo .bat
Posterior ao download deve-se abrir o Bloco de notas e abrir o arquivo .bat baixado no mesmo.
|
|
|
|
Ao ter o arquivo com as informações para acesso ao servidor, o próximo passo será o desenvolvedor utilizar um software de cliente de FTP/SFTP para acessar o diretório do servidor utilizando as informações do arquivo .bat.
Nesse estudo utilizaremos a aplicação FileZilla para acessar o diretório no servidor, via protocolo SFTP.
Link para download: https://filezilla-project.org/download.php?type=client
|
|
Concluindo a transferência, o desenvolvedor já vai ter clonado o projeto do WordPress, assim como todas as dependências.
Primeiramente o desenvolvedor deve solicitar a Gerência de desenvolvimento que abra uma solicitação para o setor responsável, que uma réplica do banco de dados para fins de teste seja realizada.
Posteriormente deve-se realizar os testes de conexão, no estudo em questão vamos utilizar o DBeaver como software de assistência e conexão com o banco de dados.
Link para download: https://dbeaver.io/download/
Observação: pode ocorrer de a política de segurança não permita um acesso direto ao banco no servidor diretamente através do software DBeaver, então é necessário realizar a liberação de privilégios para o root via query's via terminal remoto acessando através do SenhaSegura
Passo a passo para liberação:
Query para selecionar o usuário do host de banco
SELECT user,host FROM mysql.user;
Query para acessar o host do banco com as credenciais do usuário
CREATE USER 'usuario-banco'@'%' IDENTIFIED BY 'senhadousuariodebd123@';
Query que aplica todos os privilégios para o usuário
GRANT ALL PRIVILEGES ON * . * TO 'usuario-banco'@'%';
Query para confirmar os privilégios
FLUSH PRIVILEGES;
Com os privilégios aplicados ao usuário do banco, agora é possível acessar via Dbeaver o banco de dados para realizar o clone do banco de dados e assim gerar um banco local através de uma imagem do Docker.
Será necessário ter o Docker desktop instalado no dispositivo para realizar esse passo.
Link para download: https://www.docker.com/products/docker-desktop/
Com o Docker instalado no dispositivo o desenvolvedor deverá executá-lo.
Agora o desenvolvedor deverá abrir o diretório com os arquivos que foram clonados do projeto via FileZilla, para isso, no estudo usaremos o Visual Studio Code como IDE para implementação.
Link para download: https://code.visualstudio.com/download
DB_NAME = diof.ro.gov.br
DB_USER = root
DB_PASSWORD = root
DB_HOST = localhost
WP_CONTENT_URL = "http://localhost:8156"
version: '2'
services:
diof_db:
hostname: diof_db
container_name: "diof_db"
image: "mysql:5.7"
environment:
- "MYSQL_ROOT_PASSWORD=root"
- "MYSQL_DATABASE=diof.ro.gov.br"
ports:
- '3306:3306'
# volumes:
# - dbdata:/var/lib/mysql
networks:
- diof
tty: true
networks:
diof:
driver: bridge
volumes:
dbdata:
driver: local
Em síntese, a transferência bem-sucedida do 'Portal do Diof' para o GitLab e a criação dos ambientes de desenvolvimento, teste e produção representam um passo significativo para aprimorar a gestão desse website. A utilização do GitLab como repositório oferece maior controle versionamento, facilitando a colaboração e o acompanhamento de alterações. Além disso, a criação de ambientes distintos permite testes mais precisos, reduzindo possíveis falhas e garantindo maior estabilidade no ambiente de produção. Considerando a integração dessas estratégias, espera-se uma melhoria substancial na eficiência operacional e na manutenção do 'Portal do Diof', fortalecendo sua qualidade e performance no ambiente online.