Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
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
Archives
Today
Total
관리 메뉴

한바다

[배포]aws에 git프로젝트 올리기 본문

aws

[배포]aws에 git프로젝트 올리기

한바다진화 2024. 9. 2. 19:27

☑️ 프로젝트 배포 과정은 아래와 같다.

1. 자바파일 jar로 만들기 

2. jar로 만든 파일 깃허브 올리기

3. aws에가서 git clone 내가 올린 파일 가져오기

4. aws에서 백엔드 실행

 

✔️[지난주 복습]팀프로젝트 최종본을 git clone 하여 1번 과정을 진행하였다.

우선 프론트앤드(리액트)파일을 백앤드 경로에 폴더를 생성하여 public,src,package.json을 붙여 넣는다!

1.백앤드 경로에서 폴더를 생성할 때 build.gradle과 이름이 같은지 확인한다.

 

해당폴더 안에 프론트 엔드의 public, src, package.json을 복사해서 넣어준 후

build.gradle이 있는 폴더 경로에서 cmd를 입력 후 아래와 같이 진행한다!!

[명령어]

C:\Users\user1\sixsence\Sixsence>gradlew build

BUILD SUCCESSFUL in 13s

C:\Users\user1\sixsence\Sixsence>cd build

C:\Users\user1\sixsence\Sixsence\build>cd libs

C:\Users\user1\sixsence\Sixsence\build\libs>java -jar Sixsence-0.0.1-SNAPSHOT.jar

위 과정을 통해 localhost:666에서 정상적으로 불러왔다

▶ 이 과정은 지난주에 진행했던 과정으로 금일은 aws에 백앤드와 프론트앤드가 합쳐진 것을 올린다.

 

☑️aws에 올리기 위해서 개인클라우드 컴퓨터를 생성하는 과정 인스턴스를 생성한다!

그리고 aws에서 gradlew build과정을 생력할 파일질러프로그램에서 내컴퓨터에 있는 프로젝트 내 파일을 aws로

전송하는 과정을 거친다.

해당 과정은 생성한 인스턴스 퍼블릭 IPv4주소를

 

- 파일질러 사이트 파일>사이트관리자 경로로 들어가서  아래와 같이 진행한다!

- 주의할 점은 사용자를 임의로 적으면 안되고 ec2-user을 입력한 후 연결 버튼을 클릭한다

- 그리고 파일용량이 너무 커서 build폴더를 옮겨 준다!

 

그리고 aws 콘솔창에서 아래의 명령어를 입력한 후 git clone을 진행한다!

- sudo yum install git  : 깃 설치

- sudo yum install npm : npm 명령어 연동설치

- sudo yum install java-17-amazon-corretto-devel -y : 자바설치

 

그리고 aws콘솔에서(파일질러에서 build파일을 옮겨 줬기 때문에) grdlew build를 할필요는 없고

바로 아래 명령어를 입력한다!

[ec2-user@ip-172-31-18-223 ~]$ cd build
[ec2-user@ip-172-31-18-223 build]$ cd libs

[ec2-user@ip-172-31-18-223 libs]$ java -jar Sixsence-0.0.1-SNAPSHOT

<위 명령어가 잘못되어 있어 에러가 난다>
Error: Unable to access jarfile Sixsence-0.0.1-SNAPSHOT

[ec2-user@ip-172-31-18-223 libs]$ java -jar Sixsence-0.0.1-SNAPSHOT.jar

 

[위 명령어 진행시 아래와 같은 오류가 떳다]

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2024-09-02T09:16:31.873Z ERROR 29165 --- [Sixsence] [           main] o.s.boot.SpringApplication               : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Failed to initialize dependency 'dataSourceScriptDatabaseInitializer' of LoadTimeWeaverAware bean 'entityManagerFactory': Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0: Error creating bean with name 'dataSource' defined in class path resource [com/six/common/config/DBConfig.class]: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to initialize pool: Communications link failure

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [com/six/common/config/DBConfig.class]: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to initialize pool: Communications link failure

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to initialize pool: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:178) ~[spring-beans-6.1.12.jar!/:6.1.12]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644) ~[spring-beans-6.1.12.jar!/:6.1.12]
        ... 41 common frames omitted
        
Caused by: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Caused by: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Caused by
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

Caused by
 java.net.SocketTimeoutException: Connect timed out
        at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:551) ~[na:na]
        at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) ~[na:na]
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) ~[na:na]
        at java.base/java.net.Socket.connect(Socket.java:633) ~[na:na]
        at com.mysql.cj.protocol.StandardSocketFactory.connect(StandardSocketFactory.java:153) ~[mysql-connector-j-8.3.0.jar!/:8.3.0]
        at com.mysql.cj.protocol.a.NativeSocketConnection.connect(NativeSocketConnection.java:62) ~[mysql-connector-j-8.3.0.jar!/:8.3.0]
        ... 66 common frames omitted

 

[에러 원인과 해결]

위 에러는 DB가 정상적으로 연결되지 않아 발생한 오류로 build한 이클립스에서 application.properties에서 

spring.datasource 주소를 변경해줘야 한다.

 

[에러난 주소/상대주소]

[정상적으로 연결되는 주소/절대주소/공용]

'aws' 카테고리의 다른 글

[배포]mySql 복제  (2) 2024.09.05
Mysql Dialect 설정 에러  (0) 2024.09.04
[배포]명령어 정리, awc mysql  (2) 2024.09.03