From b6e0841911d38befb92310ceb445991acc20b53a Mon Sep 17 00:00:00 2001 From: Rafa Date: Fri, 31 Jan 2025 11:57:18 -0300 Subject: [PATCH 1/5] =?UTF-8?q?update:=20atualiza=C3=A7=C3=A3o=20dos=20nom?= =?UTF-8?q?es=20para=20minusculas=20e=20cria=C3=A7=C3=A3o=20dos=20secrets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/workflow.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 92d91f01..cc2097c8 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -1,4 +1,4 @@ -name: Continuous Integration +name: continuous-integration on: @@ -11,16 +11,16 @@ on: - main jobs: - CI-Pipeline: + ci-pipeline: runs-on: ubuntu-latest env: - SPRING_PROFILES_ACTIVE: test - DB_URL: jdbc:postgresql://localhost:5433/sysagua_db - DB_USERNAME: postgres - DB_PASSWORD: testpassword - DEFAULT_EMAIL: admin@sysagua.com - DEFAULT_PASSWORD: admin123 - JWT_SECRET_KEY: your-secret-key + SPRING_PROFILES_ACTIVE: ${{ secrets.SPRING_PROFILES_ACTIVE }} + DB_URL: jdbc:postgresql://postgres-db:5432/sysagua_db + DB_USERNAME: ${{ secrets.DB_USERNAME }} + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} + DEFAULT_EMAIL: ${{ secrets.DEFAULT_EMAIL }} + DEFAULT_PASSWORD: ${{ secrets.DEFAULT_PASSWORD }} + JWT_SECRET_KEY: ${{ secrets.JWT_SECRET_KEY }} steps: # Checkout do código-fonte @@ -55,21 +55,21 @@ jobs: - name: Start Docker Compose run: docker-compose up --build -d env: - DB_PASSWORD: testpassword + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} # Aguarda que os serviços estejam prontos - name: Wait for services to be ready run: | - timeout 120 bash -c ' + timeout 300 bash -c ' until echo > /dev/tcp/localhost/8080; do echo "Waiting for API service..." sleep 2 done echo "API service is ready!"' - # permissões gradlew + # Concede permissão de execução ao script Gradle Wrapper - name: Grant execute permission for gradlew - run: chmod +x ./gradlew + run: chmod +x ./sysagua-api/gradlew # Execução de testes da API usando Gradle - name: Run API Tests From 2598e3eff4d221dfa74e6c384ed598304baa8419 Mon Sep 17 00:00:00 2001 From: Rafa Date: Fri, 31 Jan 2025 11:57:53 -0300 Subject: [PATCH 2/5] =?UTF-8?q?update:=20atualiza=C3=A7=C3=A3o=20do=20coma?= =?UTF-8?q?ndo=20de=20rodar=20o=20.jar=20para=20apenas=20buildar=20o=20app?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sysagua-app/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sysagua-app/Dockerfile b/sysagua-app/Dockerfile index 49deba9d..98914966 100644 --- a/sysagua-app/Dockerfile +++ b/sysagua-app/Dockerfile @@ -21,5 +21,5 @@ WORKDIR $APP_HOME # Copia o arquivo JAR gerado na etapa de build para o container COPY --from=BUILD $APP_HOME/target/*.jar $JAR_NAME -# Comando de entrada configurável para rodar a aplicação JavaFX -ENTRYPOINT ["java", "-jar", "app.jar"] +# Comando de entrada configurável para verificar se o build funcionou +ENTRYPOINT ["java", "-version"] From 3e813632151e71037767fce7197e48f9715e185e Mon Sep 17 00:00:00 2001 From: Rafa Date: Fri, 31 Jan 2025 11:58:21 -0300 Subject: [PATCH 3/5] update: mudei o ambiente para test --- docker-compose.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c4e2f26e..15f3b74c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,5 @@ +version: '3.8' + services: # Serviço do banco de dados PostgreSQL db: @@ -8,7 +10,7 @@ services: POSTGRES_USER: postgres # Usuário padrão do banco de dados POSTGRES_PASSWORD: ${DB_PASSWORD} # Senha do banco de dados (definida como variável de ambiente) ports: - - "5433:5432" # Mapeia a porta 5432 do container para a porta 5433 do host + - "5434:5432" # Mapeia a porta 5432 do container para a porta 5434 do host volumes: - db-data:/var/lib/postgresql/data # Armazena os dados do banco de forma persistente em um volume networks: @@ -20,7 +22,7 @@ services: context: ./sysagua-api # Define o diretório do código-fonte da API para o build do Docker container_name: sysagua-api # Nome do container da API environment: - SPRING_PROFILES_ACTIVE: prod # Perfil ativo do Spring + SPRING_PROFILES_ACTIVE: test # Perfil ativo do Spring DB_URL: jdbc:postgresql://postgres-db:5432/sysagua_db # URL de conexão com o banco de dados DB_USERNAME: postgres # Nome de usuário do banco de dados DB_PASSWORD: ${DB_PASSWORD} # Senha padrão para autenticação From 698e571f694d4ecbcd8aa9c0dfc7af61d672c972 Mon Sep 17 00:00:00 2001 From: Rafa Date: Fri, 31 Jan 2025 11:58:38 -0300 Subject: [PATCH 4/5] feat: criado o ambiente de testes --- .../src/main/resources/application-test.yml | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 sysagua-api/src/main/resources/application-test.yml diff --git a/sysagua-api/src/main/resources/application-test.yml b/sysagua-api/src/main/resources/application-test.yml new file mode 100644 index 00000000..c94a6f67 --- /dev/null +++ b/sysagua-api/src/main/resources/application-test.yml @@ -0,0 +1,24 @@ +spring: + datasource: + url: ${DB_URL:jdbc:postgresql://localhost:5432/sysagua_db} # Variável de ambiente para o URL do banco de dados, com valor default + username: ${DB_USERNAME:postgres} # Variável de ambiente para o nome de usuário do banco, com valor default + password: ${DB_PASSWORD:testpassword} # Variável de ambiente para a senha do banco, com valor default + driver-class-name: org.postgresql.Driver + + jpa: + show-sql: true # Exibe as consultas SQL no console + generate-ddl: true # Gera DDL automaticamente em testes + hibernate: + ddl-auto: update # Atualiza o esquema do banco automaticamente + format-sql: true # Formata as consultas SQL para facilitar a leitura + enable_lazy_load_no_trans: true # Habilita carregamento lazy fora de transações + + flyway: + locations: classpath:db/migration/postgres # Localização dos scripts de migração do Flyway + baseline-on-migrate: true # Força o Flyway a manter o controle de versões no banco + enabled: true # Habilitar o Flyway para gerenciar migrações + +security: + config: + key: ${JWT_SECRET_KEY:your-secret-key} # Variável de ambiente para a chave JWT (pode ser definida no ambiente) + expiration: ${JWT_EXPIRATION:12} # Definir o tempo de expiração do JWT (hora) From 67e3c441cfbcb09c8061e47157f249e025faf48c Mon Sep 17 00:00:00 2001 From: Rafa Date: Fri, 31 Jan 2025 11:59:01 -0300 Subject: [PATCH 5/5] =?UTF-8?q?feat:=20atualiza=C3=A7=C3=A3o=20na=20defini?= =?UTF-8?q?=C3=A7=C3=A3o=20de=20arquivos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d32d11bc..2583d135 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ .env *.class .idea +.secrets # Log file *.log