반응형

[IntelliJ] Spring boot war file 만들어 배포하기

어렵지 않습니다. 이미지와 자세한 설명을 했으니 순서대로 하나씩 따라하시면 성공하실 수 있습니다.

build.gradle 파일에 내용 추가

plugins {

   id 'org.springframework.boot' version '2.5.4'

   id 'io.spring.dependency-management' version '1.0.11.RELEASE'

   id 'java'

   id 'war'   // 추가 내용

}


// 아래 모두 추가 내용
apply plugin: 'war'   

bootWar {

   archiveName("project_name.war")

}



Load Gradle Change 실행

(intellij 오른쪽 위에 있는 코끼리 버튼을 클릭

) 변경된 설정을 실제로 적용하는 기능을 한다.


빌드 WAR

$ ./gradlew bootwar

WAR 실행

$ java -jar ./build/libs/project_name.war

실행 확인 방법

$ curl localhost:8080

반응형
반응형


AWS ECR 사용 방법 총정리

전체적인 내용과 순서는 아래와 같다.
1. 도커 이미지를 만들고
2. ECR에 이미지를 올린 다음
3. EC2 VM에서 해당 이미지를 가져와 사용하는 방법을 정리

0. 사전 조건


- AWS 계정 보유 > EC2 인스턴스 생성 > ssh 접속 설정 완료 > IAM 권한 설정 완료
- ECR 레퍼지토리 생성 완료 > 정책등록 완료 > IAM 권한 설정 완료
- AWS CLI 설치 완료

1. 도커 이미지 만들기

ec2 에서 도커를 설치하고 샘플로 이미지를 만들어 보자.

https://docs.aws.amazon.com/ko_kr/AmazonECR/latest/userguide/getting-started-cli.html
설치 및 샘플 이미지 만드는 것은 위의 내용을 참고하였음.

$ sudo yum update -y

$ sudo amazon-linux-extras install docker

$ sudo service docker start

$ sudo usermod -a -G docker ec2-user

$ docker info

도커 이미지 만들기

Dockerfile 작성
$ touch Dockerfile
$ vim Dockerfile

FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Install apache and write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Configure apache RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \ echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh EXPOSE 80 CMD /root/run_apache.sh

빌드

$ docker build -t hello-world .

이미지 생성

$ docker images --filter reference=hello-world

이미지 실행

$ docker run -t -i -p 80:80 hello-world

이미지 실행 확인

로컬 PC에서 브라우저를 통해 ec2 ip로 접근
(ec2 ip는 curl이 설치된 경우 vm에서 $ curl ifconfig.me 실행을 통해 알아낼 수 있음)
브라우저에서 Hellow, World! 가 나오면 정상 동작하는 것임


2. ECR에 로컬에서 만든 이미지를 푸시하는 방법

자, 이제 앞에서 만든 이미지를 ECR에 올려보자.

ECR 사용을 위한 로그인

aws ecr get-login-password --region regionID | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.regionID.amazonaws.com
바로위 내용으로 미리 로그인을 하지 않으면 권한 에러가 나고 docker push가 안된다.
레퍼지토리의 정책에 해당 사용자의 권한을 주는 것도 잊지 말자.

이미지의 tag를 수정해줌

$ docker tag hello-world:latest 701234567890.dkr.ecr.us-east-1.amazonaws.com/project_repo

수정된 tag를 이용해서 푸시

$ docker push 701234567890.dkr.ecr.us-east-1.amazonaws.com/project_repo
Using default tag: latest
The push refers to repository [701234567890.dkr.ecr.us-east-1.amazonaws.com/project_repo]
d22a665fdc86: Pushed
d2f6af949869: Pushed
0840544a05e8: Pushed
6babb56be259: Pushed
latest: digest: sha256:a0f90959d7146c7a2dff91665312eeeda12345678904f1asdkbdjs9ad5b4 size: 1155
$


3. EC2 VM에서 해당 이미지를 가져와서 실행하는 방법

이제는 ec2 instance에서 올려 놓은 이미지를 풀 해서 사용하는 것을 해보자.

이미지 pull

$ docker pull 701234567890.dkr.ecr.us-east-1.amazonaws.com/project_repo

이미지 실행

$ docker run 701234567890.dkr.ecr.us-east-1.amazonaws.com/project_repo

로컬에서 처럼 IP 확인

$ curl ifconfig.me
111.111.111.111

동작 확인

로컬 PC에서 해당 IP 로 접속해서 로컬에서 처럼 Hello World! 가 나오는지 확인.
끝.























반응형
반응형

휴대폰에서 확인 방법


1. 휴대폰 상단을 손가락으로 위에서 아래로 드래그 해서 퀵메뉴를 연다.

2. Wifi 아이콘을 2~3초 동안 길~게 누른다.




3. 표시되어 있는 사용 가능한 네트워크 중에서 MAC주소를 확인을 하고 싶은 Wifi이름이 있으면 클릭한다

4. 확인을 원하는 Wifi 이름이 현재 네트워크에 있는 경우, 오른쪽에 있는 설정 버튼을 클릭한다




5. 화면의 하단에 표시되는 MAC 주소를 확인한다.

반응형
반응형

 

 

잘 되던 git 명령어가 안되면서 아래와 같이 403 에러나 발생했다.

$ git push
Password for 'https://githubuser@github.com': 
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://githubuser@github.com/githubuser/ler.git/': The requested URL returned error: 403

자세히 보니 패스워드 기반의 인증을 이제 안해 준다는 말........

그래서 제시한 링크로 들어가보니

https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/

 

Token authentication requirements for Git operations | The GitHub Blog

Beginning August 13th, 2021, we will no longer accept account passwords when authenticating Git operations on GitHub.com.

github.blog

위의 링크를 클릭하면 아래와 같은 페이지가 나온다.

 

그리고 아래쪽에 보니 할일이 나와 있다.

 

PAT(Personal Access Token)을 만들어서 사용해야한다는....

a personal access token 링크를 클릭하니 아래와 같은 페이지가 나온다.

https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

 

Creating a personal access token - GitHub Docs

Personal access tokens (PATs) are an alternative to using passwords for authentication to GitHub when using the GitHub API or the command line. If you want to use a PAT to access resources owned by an organization that uses SAML SSO, you must authorize the

docs.github.com

 

내용을 보면서 하나씩 따라해서 PAT를 만들었다.

 

 

아래 쪽에 만든 PAT의 사용 방법이 나와 있는데 패스워드 대신에 PAT를 입력하면 된다는 내용이다.

 

매번 입력하기 귀찮으니 간단히 캐싱하는 방법이 있는데 아래와 같다.

# 설치 확인
$ git credential-osxkeychain

# osxkeychain 사용 설정
$ git config --global credential.helper osxkeychain

# 사용시간 설정(초)
$ git config --global credential.helper 'cache --timeout=3600'

 

 

반응형

+ Recent posts