Script para deploy

1. Script para deploy

Wagner
wagner31

(usa CentOS)

Enviado em 19/06/2019 - 11:02h

E ae pessoal blz? Preciso de uma ajuda.
Tenho que fazer umas atualizações no site da empresa todos os 3x por semana e gostaria de automatizar o processo.
O deploy varia seu conteúdo, então para fazer o backup ele será conforme o deploy porém não to sabendo como montar isso, eu preciso fazer backup do conteúdo do deploy no site para uma pasta.
Pensei em rodar um ls -R em uma variavel da pasta que preciso e desse resultado colocar um cp em um outro comando, mas acho que não tive muito sucesso, podem me ajudar?

Segue meu Scritpt

#!/bin/bash
#Script para backup e execução de deploy dos Sites
echo -e "

Script de deploy Interativo (Ambiente Homologação)
para sites Site1 e Site2
"
read nada

echo -e "
Digite o número do chamado:
"
read CHAMADO

#Selecionar se o deploy é Site1 ou Site2
echo "Selecionar Site1 ou Site2"

select i in Site1 Site2 Sair
do

case "$i" in

Site1)
echo "Deploy Site1"

#Data do deploy que deve ser o dia atual da execução do script
DATA="$(date +\%Y-\%m-\%d)"

#Caminho do deploy
ORIGEM=/mnt/Sites_Deploy/Site1/

#Destino do deploy
#DESTINO=/mnt/Server1/Site1/
DESTINO=/tmp/

#Arquivos a serem efetuados o backup
BACKUP_NAME=

#Criando pasta com o número do chamado para backup
mkdir -p /mnt/Server1/Backup/Site1/$CHAMADO

#Efetua backup do pacote que será aplicado


#Copiando deploy para o ambiente de homologação
find /$ORIGEM/$DATA/* -type d -mtime -1 -exec cp -rf {} $DESTINO \;

;;

Site2)
echo "Deploy Site2"
Site2=Site2
;;

Sair)
echo "Programa finalizado"
break
;;

*)
echo "opcao invalida, tente de novo - $Site1 $Site2"
;;

esac

done

exit 0



  


2. Re: Script para deploy

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/06/2019 - 11:47h

Já pensou em utilizar uma solução de integração e entrega contínua como Jenkins ou GitLab CI?


3. Re: Script para deploy

Wagner
wagner31

(usa CentOS)

Enviado em 19/06/2019 - 11:52h

na verdade não, vou pesquisar sobre Jenkins, nunca mexi, mas acho que ta na hora de começar né.

é que eu queria tbm estudar um pouco de shell script e to dando uma praticada.


Obrigado.


4. Re: Script para deploy

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/06/2019 - 12:34h

Seu código já é versionado? Recomendo o GitLab, caso não seja.

Iniciaria da seguinte forma:

1 - Configurar o DocumentRoot para um link simbólico;
2 - Separar diretórios dos arquivos estáticos dos dinâmicos (Ex.: Versionar código e ignorar diretório upload);
3 - Fazer deploy do código via git (steps ou pipeline);
4 - Atualizar link simbólico para o novo alvo (steps ou pipeline);

* Ex.:
# ls -l /var/www/html
lrwxrwxrwx. 1 apache   apache   12 jun 19 12:39 portal -> portal-2.1.1
drwxrwxr-x. 2 apache apache 40 jun 19 12:38 portal-1.0.0
drwxrwxr-x. 2 apache apache 40 jun 19 12:38 portal-1.0.1
drwxrwxr-x. 2 apache apache 40 jun 19 12:38 portal-1.1.1
drwxrwxr-x. 2 apache apache 40 jun 19 12:38 portal-2.1.1



5. Re: Script para deploy

Wagner
wagner31

(usa CentOS)

Enviado em 19/06/2019 - 13:12h

Amarildo meu código não é versionado.
no caso é um servidor windows que ta hospedado o site e eu compartilhei o disco no Linux.
E estou tentando "automatizar" esses deploys via shell script.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts