Programming/infra
-
[CI/CD] Travis CI를 활용한 배포 자동화 (2)Programming/infra 2021. 6. 27. 19:23
이전 글 [CI/CD] Travis CI를 활용한 배포 자동화 (1) 이전 글에서는 단순히 프로젝트를 빌드하는 과정까지만 진행하였다. spring boot 프로젝트의 경우 보통 빌드가 완료되면 내장 톰캣이 들어있는 jar 파일이 생성된다. 배포가 의미하는 것은 해당 jar 파일이 특정한 서버에서 운영되어야 한다. 이번에는 빌드가 완료된 jar 파일을 AWS에서 제공하는 파일 서버에 연동해보려 한다. Amazon S3 아마존 웹 서비스에서 제공하는 온라인 스토리지 웹 서비스이다. s3가 의미하는 것은 Simple Strorage Service의 각 단어의 맨 앞 글자 s 3개를 의미한다. Travis 서버에서 생성된 jar 파일을 S3에 전달해야 한다. 이유는 실제 배포는 AWS의 CodeDeploy를 통..
-
[CI/CD] Travis CI를 활용한 배포 자동화 (1)Programming/infra 2021. 6. 22. 16:24
CI CI는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 레포지토리에 통합되기 때문에 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있다. 이러한 CI를 위한 서비스에는 대표적으로 Travis CI와 Jenkins 등 이 있다. Travis CI Travis CI는 github에서 제공하는 무료 CI 서비스이다. Jenkins의 경우 설치하여 사용해야 하지만 Travis CI는 오픈소스 웹 서비스이기 때문에 오픈 소스인 경우 무료로 사용이 가능하다. 간단한 사용법을 알아보기 ..
-
[INFRA] EC2 서버 접속하기 (Mac & Linux)Programming/infra 2021. 6. 21. 23:51
Mac Mac 구매를 기념하여 Mac에서 EC2 서버에 빠르게 접근할 수 있는 방법에 대해 정리하려 한다. Mac에서 AWS와 같이 외부 서버로 SSH 접속을 위해서는 ssh 명령어를 사용해야 한다. ssh? 보안적으로 취약했던 기존의 telnet등을 대체하기 위해 설계된 Secure shell의 약자이다. 기본적으로 22번 포트를 사용하여 다른 리눅스 서버로 접근이 가능한 프로토콜이다. 기본 암호화 방식을 지원하고 중간에 암호가 해킹을 당해도 원본을 알 수 없고 강력한 인증 방식을 지원하는 프로토콜이다. ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name 하지만 매번 이렇게 명령어를 입력하여 접속하는 것은 매우 불..
-
[INFRA] EC2에서 nginx 설치Programming/infra 2021. 5. 26. 02:22
개요 프로젝트를 진행하던 중 배포가 중단되지 않는 무중단 배포를 구현하기 위해 nginx 설치 방법을 정리한다. nginx의 경우 가장 저렵하고 쉽게 적용가능하기 때문에 큰 이점을 가지고 있다. 이글은 아마존 리눅스 2를 기반으로 작성되었다. 1. nginx 설치 아마존 리눅스 2의 경우 yum을 활용하여 nginx의 설치가 지원되지 않는다. 그렇기 때문에 amazon-linux-extras를 활용하여 nginx를 설치해야 한다. $ sudo amazon-linux-extras install nginx1 설치가 완료되면 -v 옵션을 활용하여 확인 과정을 거친다. $ nginx -v nginx version: nginx/1.18.0 2. nginx 서비스 시작하기 $ sudo service nginx st..
-
[INFRA] amazon EC2 초기 설정Programming/infra 2021. 5. 24. 22:39
개요 Java 기반의 웹 애플리케이션을 작동시키기 위한 서버설정을 정리한다. 이글은 아마존 리눅스 2를 기반으로 작성되었다. 1. Java 설치하기 아마존 리눅스 2는 기본적으로 jdk가 설치되어 있지 않다. java 8 설치 $ sudo yum install -y java-1.8.0-openjdk-devel.x86_64 java 11 설치 $ sudo amazon-linux-extras install java-openjdk11 java version 변경 $ sudo /usr/sbin/alternatives --config java java version 확인 $ java -version openjdk version "11.0.11" 2021-04-20 LTS OpenJDK Runtime Environ..