From 97cc3dfa1992d6dcec8d71f147fcced1ba52e5d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Wed, 14 Feb 2024 14:33:40 -0300 Subject: [PATCH 01/15] Configura arquivos de deploy --- deploy/appspec.yml | 28 ++++++++++++++++++++++++++++ deploy/buildspec.yml | 17 +++++++++++++++++ deploy/scripts/fix_previleges.sh | 4 ++++ deploy/scripts/server_clear.sh | 2 ++ deploy/scripts/server_start.sh | 3 +++ deploy/scripts/server_stop.sh | 2 ++ 6 files changed, 56 insertions(+) create mode 100644 deploy/appspec.yml create mode 100644 deploy/buildspec.yml create mode 100644 deploy/scripts/fix_previleges.sh create mode 100644 deploy/scripts/server_clear.sh create mode 100644 deploy/scripts/server_start.sh create mode 100644 deploy/scripts/server_stop.sh diff --git a/deploy/appspec.yml b/deploy/appspec.yml new file mode 100644 index 0000000..0e66dd4 --- /dev/null +++ b/deploy/appspec.yml @@ -0,0 +1,28 @@ +version: 0.0 +os: linux + +files: + - source: / + destination: /home/ec2-user/server +permissions: + - object: / + pattern: "**" + owner: ec2-user + group: ec2-user +hooks: + BeforeInstall: + - location: server_clear.sh + timeout: 300 + runas: ec2-user + AfterInstall: + - location: server_clear.sh + timeout: 300 + runas: ec2-user + ApplicationStart: + - location: server_start.sh + timeout: 300 + runas: ec2-user + ApplicationStop: + - location: server_stop.sh + timeout: 300 + runas: ec2-user \ No newline at end of file diff --git a/deploy/buildspec.yml b/deploy/buildspec.yml new file mode 100644 index 0000000..047f7c1 --- /dev/null +++ b/deploy/buildspec.yml @@ -0,0 +1,17 @@ +version: 0.2 + +phases: + install: + runtime-versions: + java: corretto17 + build: + commands: + - ./gradlew bootJar + post_build: + commands: + - echo Build Completed +artifacts: + files: + - build/libs/*.jar + - scripts/*.sh + - appspec.yml \ No newline at end of file diff --git a/deploy/scripts/fix_previleges.sh b/deploy/scripts/fix_previleges.sh new file mode 100644 index 0000000..5170aa6 --- /dev/null +++ b/deploy/scripts/fix_previleges.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +chmod +x /home/ec2-user/server/* jar +chmod +x /home/ec2-user/server/server_start.sh +chmod +x /home/ec2-user/server/server_stop.sh diff --git a/deploy/scripts/server_clear.sh b/deploy/scripts/server_clear.sh new file mode 100644 index 0000000..07ee588 --- /dev/null +++ b/deploy/scripts/server_clear.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +rm -rf /home/ec2-user/server \ No newline at end of file diff --git a/deploy/scripts/server_start.sh b/deploy/scripts/server_start.sh new file mode 100644 index 0000000..8ad426e --- /dev/null +++ b/deploy/scripts/server_start.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +cd /home/ec2-user/server +sudo java -jar -Dserver.port=80 *.jar \ No newline at end of file diff --git a/deploy/scripts/server_stop.sh b/deploy/scripts/server_stop.sh new file mode 100644 index 0000000..b477969 --- /dev/null +++ b/deploy/scripts/server_stop.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +sudo pkill -f 'java -jar' \ No newline at end of file From 1e85e1567eed1ccc95384cc1b743a25ebedea88e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Thu, 15 Feb 2024 15:56:34 -0300 Subject: [PATCH 02/15] =?UTF-8?q?Concede=20permiss=C3=B5es=20de=20execu?= =?UTF-8?q?=C3=A7=C3=A3o=20ao=20arquivo=20gradlew?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/buildspec.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deploy/buildspec.yml b/deploy/buildspec.yml index 047f7c1..cea163f 100644 --- a/deploy/buildspec.yml +++ b/deploy/buildspec.yml @@ -4,6 +4,8 @@ phases: install: runtime-versions: java: corretto17 + commands: + - chmod +x gradlew build: commands: - ./gradlew bootJar From 3d3ccf3e561226414b34e09cb6f47afd688d3736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Thu, 15 Feb 2024 16:25:43 -0300 Subject: [PATCH 03/15] Especifica o caminho completo dos artefatos --- deploy/buildspec.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/buildspec.yml b/deploy/buildspec.yml index cea163f..c2c8a06 100644 --- a/deploy/buildspec.yml +++ b/deploy/buildspec.yml @@ -15,5 +15,5 @@ phases: artifacts: files: - build/libs/*.jar - - scripts/*.sh - - appspec.yml \ No newline at end of file + - deploy/scripts/*.sh + - deploy/appspec.yml \ No newline at end of file From e0100b5fb118ab7e35c8054d196b45eef334a910 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Thu, 15 Feb 2024 18:08:21 -0300 Subject: [PATCH 04/15] Muda local dos arquivos de deploy para o diretorio raiz --- deploy/appspec.yml => appspec.yml | 0 deploy/buildspec.yml => buildspec.yml | 4 ++-- {deploy/scripts => scripts}/fix_previleges.sh | 0 {deploy/scripts => scripts}/server_clear.sh | 0 {deploy/scripts => scripts}/server_start.sh | 0 {deploy/scripts => scripts}/server_stop.sh | 0 6 files changed, 2 insertions(+), 2 deletions(-) rename deploy/appspec.yml => appspec.yml (100%) rename deploy/buildspec.yml => buildspec.yml (84%) rename {deploy/scripts => scripts}/fix_previleges.sh (100%) rename {deploy/scripts => scripts}/server_clear.sh (100%) rename {deploy/scripts => scripts}/server_start.sh (100%) rename {deploy/scripts => scripts}/server_stop.sh (100%) diff --git a/deploy/appspec.yml b/appspec.yml similarity index 100% rename from deploy/appspec.yml rename to appspec.yml diff --git a/deploy/buildspec.yml b/buildspec.yml similarity index 84% rename from deploy/buildspec.yml rename to buildspec.yml index c2c8a06..cea163f 100644 --- a/deploy/buildspec.yml +++ b/buildspec.yml @@ -15,5 +15,5 @@ phases: artifacts: files: - build/libs/*.jar - - deploy/scripts/*.sh - - deploy/appspec.yml \ No newline at end of file + - scripts/*.sh + - appspec.yml \ No newline at end of file diff --git a/deploy/scripts/fix_previleges.sh b/scripts/fix_previleges.sh similarity index 100% rename from deploy/scripts/fix_previleges.sh rename to scripts/fix_previleges.sh diff --git a/deploy/scripts/server_clear.sh b/scripts/server_clear.sh similarity index 100% rename from deploy/scripts/server_clear.sh rename to scripts/server_clear.sh diff --git a/deploy/scripts/server_start.sh b/scripts/server_start.sh similarity index 100% rename from deploy/scripts/server_start.sh rename to scripts/server_start.sh diff --git a/deploy/scripts/server_stop.sh b/scripts/server_stop.sh similarity index 100% rename from deploy/scripts/server_stop.sh rename to scripts/server_stop.sh From 3bda7a6ce5db61d10d61766024a78c030764e997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Thu, 15 Feb 2024 18:25:52 -0300 Subject: [PATCH 05/15] Especifica o caminho completo dos scripts --- appspec.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/appspec.yml b/appspec.yml index 0e66dd4..d20f2a2 100644 --- a/appspec.yml +++ b/appspec.yml @@ -11,18 +11,18 @@ permissions: group: ec2-user hooks: BeforeInstall: - - location: server_clear.sh + - location: scripts/server_clear.sh timeout: 300 runas: ec2-user AfterInstall: - - location: server_clear.sh + - location: scripts/server_clear.sh timeout: 300 runas: ec2-user ApplicationStart: - - location: server_start.sh + - location: scripts/server_start.sh timeout: 300 runas: ec2-user ApplicationStop: - - location: server_stop.sh + - location: scripts/server_stop.sh timeout: 300 runas: ec2-user \ No newline at end of file From 383a877a6ac1549f0f48455e275fb13f29447e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Thu, 15 Feb 2024 18:48:25 -0300 Subject: [PATCH 06/15] Corrige etapa AfterInstall --- appspec.yml | 2 +- scripts/{fix_previleges.sh => fix_privileges.sh} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename scripts/{fix_previleges.sh => fix_privileges.sh} (75%) diff --git a/appspec.yml b/appspec.yml index d20f2a2..97e5e2f 100644 --- a/appspec.yml +++ b/appspec.yml @@ -15,7 +15,7 @@ hooks: timeout: 300 runas: ec2-user AfterInstall: - - location: scripts/server_clear.sh + - location: scripts/fix_privileges.sh timeout: 300 runas: ec2-user ApplicationStart: diff --git a/scripts/fix_previleges.sh b/scripts/fix_privileges.sh similarity index 75% rename from scripts/fix_previleges.sh rename to scripts/fix_privileges.sh index 5170aa6..0de7b8a 100644 --- a/scripts/fix_previleges.sh +++ b/scripts/fix_privileges.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash -chmod +x /home/ec2-user/server/* jar +chmod +x /home/ec2-user/server/*.jar chmod +x /home/ec2-user/server/server_start.sh chmod +x /home/ec2-user/server/server_stop.sh From e49952a63b0aff869b6a17b06d5f211f18100b87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Thu, 15 Feb 2024 19:12:37 -0300 Subject: [PATCH 07/15] Limpa o conteudo do diretorio --- scripts/fix_privileges.sh | 4 ++-- scripts/server_clear.sh | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/fix_privileges.sh b/scripts/fix_privileges.sh index 0de7b8a..6ac14a2 100644 --- a/scripts/fix_privileges.sh +++ b/scripts/fix_privileges.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash chmod +x /home/ec2-user/server/*.jar -chmod +x /home/ec2-user/server/server_start.sh -chmod +x /home/ec2-user/server/server_stop.sh +chmod +x /home/ec2-user/server/scripts/server_start.sh +chmod +x /home/ec2-user/server/scripts/server_stop.sh diff --git a/scripts/server_clear.sh b/scripts/server_clear.sh index 07ee588..2e4636c 100644 --- a/scripts/server_clear.sh +++ b/scripts/server_clear.sh @@ -1,2 +1,4 @@ #!/usr/bin/env bash -rm -rf /home/ec2-user/server \ No newline at end of file + +# Limpar o conteúdo do diretório /home/ec2-user/server, exceto o diretório "scripts" +find /home/ec2-user/server -mindepth 1 -maxdepth 1 ! -name 'scripts' -exec rm -rf {} + \ No newline at end of file From e5bc36ddb237be3ec206627f32525206933c4a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Fri, 16 Feb 2024 17:42:54 -0300 Subject: [PATCH 08/15] Corrige os scripts --- scripts/fix_privileges.sh | 2 +- scripts/server_clear.sh | 3 +-- scripts/server_start.sh | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/fix_privileges.sh b/scripts/fix_privileges.sh index 6ac14a2..2a94baf 100644 --- a/scripts/fix_privileges.sh +++ b/scripts/fix_privileges.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash -chmod +x /home/ec2-user/server/*.jar +chmod +x /home/ec2-user/server/build/libs/*.jar chmod +x /home/ec2-user/server/scripts/server_start.sh chmod +x /home/ec2-user/server/scripts/server_stop.sh diff --git a/scripts/server_clear.sh b/scripts/server_clear.sh index 2e4636c..eee0673 100644 --- a/scripts/server_clear.sh +++ b/scripts/server_clear.sh @@ -1,4 +1,3 @@ #!/usr/bin/env bash -# Limpar o conteúdo do diretório /home/ec2-user/server, exceto o diretório "scripts" -find /home/ec2-user/server -mindepth 1 -maxdepth 1 ! -name 'scripts' -exec rm -rf {} + \ No newline at end of file +find /home/ec2-user/server -mindepth 1 -delete \ No newline at end of file diff --git a/scripts/server_start.sh b/scripts/server_start.sh index 8ad426e..7262b50 100644 --- a/scripts/server_start.sh +++ b/scripts/server_start.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -cd /home/ec2-user/server +cd /home/ec2-user/server/build/libs sudo java -jar -Dserver.port=80 *.jar \ No newline at end of file From 98f9ca4860373d417bd7e02a68b722708412298a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Fri, 16 Feb 2024 17:45:32 -0300 Subject: [PATCH 09/15] Adiciona o driver do h2 --- build.gradle | 2 +- src/main/resources/application-test.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 83deb94..64fb0c5 100644 --- a/build.gradle +++ b/build.gradle @@ -31,7 +31,7 @@ dependencies { annotationProcessor 'org.projectlombok:lombok' runtimeOnly 'org.postgresql:postgresql' testImplementation 'org.springframework.boot:spring-boot-starter-test' - testRuntimeOnly 'com.h2database:h2' + runtimeOnly 'com.h2database:h2' } tasks.named('test') { diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index dea06fc..7deb096 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -2,6 +2,7 @@ spring: application: name: InvoiceAPI datasource: + driver-class-name: org.h2.Driver url: jdbc:h2:mem:testdb output: ansi: From c032c7ba88aee3b5ec8bbdb63818ae7a185c6cfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Fri, 16 Feb 2024 20:02:04 -0300 Subject: [PATCH 10/15] Modifica server_start.sh --- scripts/server_start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/server_start.sh b/scripts/server_start.sh index 7262b50..887d586 100644 --- a/scripts/server_start.sh +++ b/scripts/server_start.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash cd /home/ec2-user/server/build/libs -sudo java -jar -Dserver.port=80 *.jar \ No newline at end of file +sudo java -jar -Dserver.port=80 *.jar > /dev/null 2> /dev/null < /dev/null & \ No newline at end of file From d4f269a437169e92698fcaf0d1fb2a6f20622f74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Sat, 17 Feb 2024 21:28:38 -0300 Subject: [PATCH 11/15] Modifica application.yml --- src/main/resources/application.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 673cd69..be1cc70 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -7,21 +7,12 @@ spring: url: jdbc:postgresql://localhost:5432/products username: postgres_user_product password: super_password - flyway: - enabled: true - url: jdbc:postgresql://localhost:5432/products - user: postgres_user_product - password: super_password - baselineOnMigrate: true output: ansi: enabled: ALWAYS jpa: open-in-view: true -server: - port: 8081 - client: logistock: url: http://localhost:8080 \ No newline at end of file From f649d9f31c2d1379a8e7aa28f76462f9139a1679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Sat, 17 Feb 2024 21:29:32 -0300 Subject: [PATCH 12/15] =?UTF-8?q?Adiciona=20etapa=20de=20substitui=C3=A7?= =?UTF-8?q?=C3=A3o=20de=20variaveis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buildspec.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/buildspec.yml b/buildspec.yml index cea163f..1ded4d8 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -5,6 +5,12 @@ phases: runtime-versions: java: corretto17 commands: + - sed -i "s|spring.profiles.active = .*|spring.profiles.active = default|g" src/main/resources/application.yml + - sed -i "s|spring.datasource.url = .*|spring.datasource.url = $DATASOURCE_URL|g" src/main/resources/application.yml + - sed -i "s|spring.datasource.username = .*|spring.datasource.username = $DATASOURCE_USERNAME|g" src/main/resources/application.yml + - sed -i "s|spring.datasource.password = .*|spring.datasource.password = $DATASOURCE_PASSWORD|g" src/main/resources/application.yml + - sed -i "s|client.logistock.url = .*|client.logistock.url = $LOGISTOCK_URL|g" src/main/resources/application.yml + - chmod +x gradlew build: commands: From 40c3283e759681cbf1bd31992ccfc023277587e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Sun, 18 Feb 2024 19:15:10 -0300 Subject: [PATCH 13/15] Exibe o conteudo do arquivo application.yml --- buildspec.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/buildspec.yml b/buildspec.yml index 1ded4d8..8053386 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -10,6 +10,7 @@ phases: - sed -i "s|spring.datasource.username = .*|spring.datasource.username = $DATASOURCE_USERNAME|g" src/main/resources/application.yml - sed -i "s|spring.datasource.password = .*|spring.datasource.password = $DATASOURCE_PASSWORD|g" src/main/resources/application.yml - sed -i "s|client.logistock.url = .*|client.logistock.url = $LOGISTOCK_URL|g" src/main/resources/application.yml + - cat src/main/resources/application.yml - chmod +x gradlew build: From c077241fccaa78207103d21f295249285fb2b181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Mon, 19 Feb 2024 11:06:34 -0300 Subject: [PATCH 14/15] Adiciona envs no buildspec.yml --- buildspec.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/buildspec.yml b/buildspec.yml index 8053386..8d12806 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -1,15 +1,23 @@ version: 0.2 +env: + variables: + PROFILE: "default" + DATASOURCE_URL: "pedra" + DATASOURCE_USERNAME: "papel" + DATASOURCE_PASSWORD: "tesoura" + LOGISTOCK_URL: "lagarto" + phases: install: runtime-versions: java: corretto17 commands: - - sed -i "s|spring.profiles.active = .*|spring.profiles.active = default|g" src/main/resources/application.yml - - sed -i "s|spring.datasource.url = .*|spring.datasource.url = $DATASOURCE_URL|g" src/main/resources/application.yml - - sed -i "s|spring.datasource.username = .*|spring.datasource.username = $DATASOURCE_USERNAME|g" src/main/resources/application.yml - - sed -i "s|spring.datasource.password = .*|spring.datasource.password = $DATASOURCE_PASSWORD|g" src/main/resources/application.yml - - sed -i "s|client.logistock.url = .*|client.logistock.url = $LOGISTOCK_URL|g" src/main/resources/application.yml + - sed -i "s|spring.profiles.active = .*|spring.profiles.active = ${PROFILE}|g" src/main/resources/application.yml + - sed -i "s|spring.datasource.url = .*|spring.datasource.url = ${DATASOURCE_URL}|g" src/main/resources/application.yml + - sed -i "s|spring.datasource.username = .*|spring.datasource.username = ${DATASOURCE_USERNAME}|g" src/main/resources/application.yml + - sed -i "s|spring.datasource.password = .*|spring.datasource.password = ${DATASOURCE_PASSWORD}|g" src/main/resources/application.yml + - sed -i "s|client.logistock.url = .*|client.logistock.url = ${LOGISTOCK_URL}|g" src/main/resources/application.yml - cat src/main/resources/application.yml - chmod +x gradlew From 0d7c7962af6c97ea052f4d2ea770494e694155cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilberto=20J=C3=BAnior?= Date: Mon, 19 Feb 2024 11:21:30 -0300 Subject: [PATCH 15/15] =?UTF-8?q?Adiciona=20permiss=C3=A3o=20de=20escrita?= =?UTF-8?q?=20ao=20arquivo=20application.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- buildspec.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/buildspec.yml b/buildspec.yml index 8d12806..d6a932a 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -13,6 +13,7 @@ phases: runtime-versions: java: corretto17 commands: + - chmod +w src/main/resources/application.yml - sed -i "s|spring.profiles.active = .*|spring.profiles.active = ${PROFILE}|g" src/main/resources/application.yml - sed -i "s|spring.datasource.url = .*|spring.datasource.url = ${DATASOURCE_URL}|g" src/main/resources/application.yml - sed -i "s|spring.datasource.username = .*|spring.datasource.username = ${DATASOURCE_USERNAME}|g" src/main/resources/application.yml