Skip to content

Commit d28e7e2

Browse files
authored
Merge pull request RyanCNP#99 from RyanCNP/hotfix/ultimo-dia
Hotfix/ultimo dia
2 parents 11f26bc + a67d3ec commit d28e7e2

12 files changed

Lines changed: 92 additions & 42 deletions

.github/workflows/develop-actions.yml

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: CI / CD - develop (preview)
22

33
on:
44
push:
5-
branches:
5+
branches:
66
- develop
77

88
jobs:
@@ -111,21 +111,26 @@ jobs:
111111
username: ${{ secrets.DOCKER_USERNAME }}
112112
password: ${{ secrets.DOCKER_PASSWORD }}
113113

114-
- name: Extrai metadatas para o Docker
115-
id: meta
114+
# Docker Image Back-DEV
115+
116+
- name: Extrai metadatas para a Imagem Back-Dev
117+
id: metaDev
116118
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
117119
with:
118-
images: saneasp/sanea-back
120+
images: saneasp/front-back-dev
121+
tags: |
122+
type=raw,value=${{ steps.version.outputs.new_version }}
123+
type=raw,value=latest
119124
120-
- name: Build e publicação da imagem Docker
121-
id: push
125+
- name: Build e publicação da Imagem Back-Dev
126+
id: pushDev
122127
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
123128
with:
124129
context: .
125-
file: ./Dockerfile
130+
file: ./Dockerfile.dev
126131
push: true
127-
tags: ${{ steps.meta.outputs.tags }}
128-
labels: ${{ steps.meta.outputs.labels }}
132+
tags: ${{ steps.metaDev.outputs.tags }}
133+
labels: ${{ steps.metaDev.outputs.labels }}
129134
env:
130135
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
131136

@@ -137,7 +142,6 @@ jobs:
137142
if: failure()
138143

139144
steps:
140-
141145
# --- Checkout do código ---
142146
- name: Checkout code
143147
uses: actions/checkout@v3
@@ -175,4 +179,4 @@ jobs:
175179
subject: "🚨 Falha no Pipeline - ${{ github.ref_name }}"
176180
to: "${{ secrets.TEAM_EMAILS }}"
177181
from: "CI/CD SaneaSP <no-reply@saneasp.com>"
178-
html_body: ${{ steps.template.outputs.html }}
182+
html_body: ${{ steps.template.outputs.html }}

.github/workflows/main-actions.yml

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ jobs:
3131
3232
echo "✔ Mensagem válida."
3333
34-
3534
# --- Instalar dependências ---
3635
- name: Instalar dependências
3736
run: npm ci
@@ -144,33 +143,58 @@ jobs:
144143
draft: false
145144
prerelease: false
146145
env:
147-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
146+
GITHUB_TOKEN:
147+
${{ secrets.GITHUB_TOKEN }}
148148

149-
# ---- Imagem Docker -----
149+
# Docker Login
150150
- name: Login Docker Hub
151151
uses: docker/login-action@f4ef78c080cd8ba55a85445d5b36e214a81df20a
152152
with:
153153
username: ${{ secrets.DOCKER_USERNAME }}
154154
password: ${{ secrets.DOCKER_PASSWORD }}
155155

156-
- name: Extrai metadatas para o Docker
157-
id: meta
156+
# Docker Image Back-PROD
157+
- name: Extrai metadatas para a Imagem Back-Prod
158+
id: metaProd
158159
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
159160
with:
160-
images: saneasp/back-sanea
161+
images: saneasp/back-sanea-prod
161162
tags: |
162163
type=raw,value=${{ steps.version.outputs.new_version }}
163164
type=raw,value=latest
164165
165-
- name: Build e publicação da imagem Docker
166-
id: push
166+
- name: Build e publicação da Imagem Back-Prod
167+
id: pushProd
167168
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
168169
with:
169170
context: .
170171
file: ./Dockerfile
171172
push: true
172-
tags: ${{ steps.meta.outputs.tags }}
173-
labels: ${{ steps.meta.outputs.labels }}
173+
tags: ${{ steps.metaProd.outputs.tags }}
174+
labels: ${{ steps.metaProd.outputs.labels }}
175+
env:
176+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
177+
178+
# Docker Image Back-DEV
179+
180+
- name: Extrai metadatas para a Imagem Back-Dev
181+
id: metaDev
182+
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
183+
with:
184+
images: saneasp/front-back-dev
185+
tags: |
186+
type=raw,value=${{ steps.version.outputs.new_version }}
187+
type=raw,value=latest
188+
189+
- name: Build e publicação da Imagem Back-Dev
190+
id: pushDev
191+
uses: docker/build-push-action@3b5e8027fcad23fda98b2e3ac259d8d67585f671
192+
with:
193+
context: .
194+
file: ./Dockerfile.dev
195+
push: true
196+
tags: ${{ steps.metaDev.outputs.tags }}
197+
labels: ${{ steps.metaDev.outputs.labels }}
174198
env:
175199
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
176200

@@ -182,7 +206,6 @@ jobs:
182206
if: failure()
183207

184208
steps:
185-
186209
# --- Checkout do código ---
187210
- name: Checkout code
188211
uses: actions/checkout@v3
@@ -220,4 +243,4 @@ jobs:
220243
subject: "🚨 Falha no Pipeline - ${{ github.ref_name }}"
221244
to: "${{ secrets.TEAM_EMAILS }}"
222245
from: "CI/CD SaneaSP <no-reply@saneasp.com>"
223-
html_body: ${{ steps.template.outputs.html }}
246+
html_body: ${{ steps.template.outputs.html }}

Dockerfile

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,13 @@
1-
# Usar a imagem do Node.js
2-
FROM node:16-alpine
3-
4-
# Criar diretório de trabalho
1+
# Etapa 1: Build Angular
2+
FROM node:20 AS build
53
WORKDIR /app
64

7-
# Copiar apenas package.json para instalar dependências
85
COPY package*.json ./
9-
10-
# Instalar dependências
116
RUN npm install
127

13-
# Copiar restante do código
148
COPY . .
9+
RUN npm run build
1510

16-
# Expor a porta da API
1711
EXPOSE 3000
1812

19-
# Rodar em modo desenvolvimento
20-
CMD ["npm", "run", "dev"]
13+
CMD [ "npm","run","start" ]

Dockerfile.dev

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Usar a imagem do Node.js
2+
FROM node:16-alpine
3+
4+
# Criar diretório de trabalho
5+
WORKDIR /app
6+
7+
# Copiar apenas package.json para instalar dependências
8+
COPY package*.json ./
9+
10+
# Instalar dependências
11+
RUN npm install
12+
13+
# Copiar restante do código
14+
COPY . .
15+
16+
# Expor a porta da API
17+
EXPOSE 3000
18+
19+
# Rodar em modo desenvolvimento
20+
CMD ["npm", "run", "dev"]

docker-compose.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,9 @@ services:
88
POSTGRES_PASSWORD: "1234"
99
POSTGRES_USER: postgres
1010
POSTGRES_DB: sanea
11+
back:
12+
image: saneasp/back-sanea-prod
13+
ports:
14+
- '3000:3000'
15+
env_file:
16+
- ./.env

migrations/20250925202854-alter-table-usuario-endereco.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ module.exports = {
3838
await queryInterface.removeColumn("usuario", "cidade");
3939
await queryInterface.removeColumn("usuario", "bairro");
4040
await queryInterface.removeColumn("usuario", "cep");
41-
await queryInterface.removeColumn("usuario", "complmento");
41+
await queryInterface.removeColumn("usuario", "complemento");
4242
await queryInterface.removeColumn("usuario", "numero");
4343

4444
await queryInterface.addColumn("usuario", "endereco", {

migrations/20251120145923-alter-table-denuncia-status-endereco.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
module.exports = {
55
async up (queryInterface, Sequelize) {
66
// Alterar status para string e default 'aberto'
7-
await queryInterface.changeColumn('denuncia', 'status', {
7+
await queryInterface.removeColumn('denuncia','status');
8+
await queryInterface.addColumn('denuncia', 'status', {
89
type: Sequelize.STRING(50),
910
allowNull: false,
1011
defaultValue: 'aberto'
@@ -31,6 +32,7 @@ module.exports = {
3132

3233
async down (queryInterface, Sequelize) {
3334
// Reverter status para integer e default 0
35+
await queryInterface.removeColumn('denuncia','status');
3436
await queryInterface.changeColumn('denuncia', 'status', {
3537
type: Sequelize.INTEGER,
3638
allowNull: true,

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
"scripts": {
77
"dev": "ts-node-dev --respawn --transpile-only ./app.ts",
88
"start": "node dist/app.js",
9-
"build": "tsc",
9+
"build": "tsc && npm run copy-public && npm run copy-templates",
10+
"copy-public": "cp -r public dist/public",
11+
"copy-templates": "xcopy src\\templates dist\\src\\templates /E /I /Y",
1012
"migration-create": "npx sequelize-cli migration:generate --name",
1113
"migrate": "npx sequelize-cli db:migrate",
1214
"migrate:undo": "npx sequelize-cli db:migrate:undo",

src/config/database.config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if (env === "development") {
1414
});
1515
}
1616
else if (env === "production") {
17-
const databaseUrl = process.env.PROD_DATABASE_URL;
17+
const databaseUrl:string | undefined = process.env.PROD_DATABASE_URL;
1818

1919
if (!databaseUrl) {
2020
throw new Error("PROD_DATABASE_URL é necessário para ambiente de produção");
@@ -25,7 +25,7 @@ else if (env === "production") {
2525
dialectOptions: {
2626
ssl: {
2727
require: true,
28-
rejectUnauthorized: false,
28+
rejectUnauthorized: true,
2929
},
3030
},
3131
logging: false,

src/models/grupo-categoria.model.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { DataTypes, Model, Optional } from "sequelize";
22
import sequelize from '../config/database.config'
33
import { IGrupoCategoria } from "../interfaces/grupo-categoria";
44

5-
const IMAGE_BASE_URL = `${process.env.HOST}:${process.env.PORT}/public`;
5+
const IMAGE_BASE_URL = process.env.UPLOADED_IMAGES_BASE_URL;
66

77
type GrupoCategoriaCricao = Optional<IGrupoCategoria, "id">
88

0 commit comments

Comments
 (0)