Repository navigation
59 lines (46 loc) · 1.98 KB
/
Copy pathdeploy.yml
File metadata and controls
59 lines (46 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
name: Deploy OSLab
on:
workflow_run:
workflows: ["OSLab Laravel Application Test"]
types:
- completed
jobs:
deploy:
runs-on: self-hosted
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checar repositório
uses: actions/checkout@v4
- name: Git Pull no Servidor
run: |
cd /var/Docker/DevCore-PHP/www/oslab
git pull origin main
- name: Gerar e Injetar Versão no .env
run: |
# Define o caminho real do projeto no servidor
PROJECT_PATH="/var/Docker/DevCore-PHP/www/oslab"
# Lê a base do arquivo version.env recém atualizado
BASE=$(grep -E "^BASE_VERSION=" $PROJECT_PATH/version.env | cut -d '=' -f2 | tr -d '\r')
# Dados para a versão visual e URL
BRANCH=${{ github.ref_name }}
SHORT_HASH=$(echo ${{ github.sha }} | cut -c1-7)
FULL_HASH=${{ github.sha }}
REPO=${{ github.repository }}
# Remove as linhas das versões antigas do .env de produção para não duplicar
sed -i '/^APP_VERSION=/d' $PROJECT_PATH/.env
sed -i '/^APP_VERSION_URL=/d' $PROJECT_PATH/.env
# Salva a nova versão no .env real do servidor
echo "APP_VERSION=${BASE}-${BRANCH}-${SHORT_HASH}" >> $PROJECT_PATH/.env
echo "APP_VERSION_URL=https://github.com/${REPO}/commit/${FULL_HASH}" >> $PROJECT_PATH/.env
- name: Rodar Composer dentro do diretório Oslab
run: |
sudo docker exec app composer install -d oslab
- name: Rodar Artisan Migrate
run: |
sudo docker exec app php oslab/artisan migrate
- name: Rodar Artisan db:update-defaults (chamando direto na classe)
run: |
sudo docker exec app php oslab/artisan db:seed --class DatabaseDefaultPermissionsUpdate
- name: Limpando cache de configuração (Agora lendo o .env novo)
run: |
sudo docker exec app php oslab/artisan optimize:clear