1. 자바 설치 sudo apt install openjdk-8-jre sudo apt install openjdk-8-jdk 2. Jenkins 설치 및 실행 wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt update sudo apt install jenkins 2.1. 자바 PATH 설정 Jenkins init.d(/etc/init.d/jenkins) 파일을 열어 PATH 설정 PATH=/usr..
1. EC2 Instance Connect ec2 ssh접속시 pem 파일을 이용하여 접속을 해야한다. 접속 할때마다 pem파일을 이용하여 접속하기 귀찮아 살펴보던중 찾아내어 설정 방법을 정리하고자 한다. Instance Connect 설정시 pem파일 없이 아래와 같이 간단한 명령어로 ec2 접속이 가능하다. mssh ubuntu@[[ec2 인스턴스 아이디]] 1.1. 인스턴스에 EC2 Instance Connect 설치 Amazon Linux 2 2.0.20190618 이상, Ubuntu 20.04 이상은 설치되어있으므로 건너뛰어도 된다. 아래 예시는 Ubuntu 18버전을 기반으로 진행함. 1.1.1. EC2 SSH 접속 ssh -i "[[pem 파일 경로]]" ubuntu@[[퍼블릭 IPv4 DN..
1. Code Commit 생성 및 소스 업로드 1.1. Code Commit 저장소 생성 1.2. iam 유저에 CodeCommit 권한 부여 AWSCodeCommitPowerUser 권한을 부여한다. 1.3. 소스 업로드 (HTTPS GRC) 1.3.1. git-remote-codecommit 설치 pip3 install git-remote-codecommit 1.3.2. git 초기화 및 설정 git init git remote add codecommit::[[리젼]]://[[저장소명]] 1.3.3. 소스 원격 저장소로 푸시 git push --set-upstream origin master 2. Jenkins, Docker, Aws Cli 설치 및 설정 Jenkins를 설치할 서버에 아래 모두를 ..
1. AWS ECR 저장소 생성 2. ECR 로그인 사용자 계정 생성 2.1. IAM 사용자 추가 AmazonEC2ContainerRegistryFullAccess 권한 부여 AccessKey, SecretKey 저장 3. Docker 로그인 3.1. AWS CLI 로그인 Docker 로그인을 하기위해 먼저 터미널에서 AWS CLI로그인을 한다. aws configure AWS Access Key ID : [[계정 AccessKey]] AWS Secret Access Key : [[계정 SecretKey]] Default region name: ap-northeast-2 Default output format : json 아래 명령어를 통하여 Docker 로그인을 진행한다. aws ecr get-logi..
여러 블로그 및 사이트에 있는 개념들을 제가 보기 좋게 정리하였습니다. 출처는 모두 아래에 밝혀져 있으며 혹시 문제가 되면 삭제 또는 비공개 처리하겠습니다. :) 1. 쿠버네티스란? 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼 쿠버네티스란 명칭은 키잡이(helmsman)이나 파일럿을 뜻하는 그리스어에서 유래 글이 2014년에 쿠버네티스 프로젝트를 오픈소스화 출현 배경 2.1. 전통적인 배포 시대 초기 앱을 배포시에는 물리서버에서 실행하였다. 한 물리서버에서 앱 리소스 한계를 정의할 방법이 없어 리소스 할당에 문제가 발생함. 2.2. 가상화된 배포 시대 위의 해결책으로 가상화가 도입됨. 단일 물리서버에서 여러 가상시스템을 실행 할 수 있어 서버에서 ..
Docker Linux 종류 adoptopenjdk/openjdk8 위와 같이 이미지의 버전만 명시한 것을 의미한다. 사실상 모든것의 기반 이미지이다. 무슨 이미지를 선택할지 모르겠다면 이 이미지를 사용하면 된다. 다른 이미지를 만들기 위한 기반 이미지로 사용하거나 소스 코드 배포 후 실행하는 컨테이너로 사용된다. jessie, stretch 와 같은 태그는 Debian리눅의 릴리즈명을 의미한다. -alpine adoptopenjdk/openjdk8:alpine 알파인 리눅스를 기반으로 만들어 짐. 알파인 리눅스는 가볍고 간단하고 보안성을 목적으로 개발한 리눅스 배포판 용량이 80M인 경량화된 배포판이므로 Embbeded 나 네트웍 서버등 특정 용도에 적합하며 특히 도커(docker)에 채택되어 5M 크..