콤텍시스템 서비스 지원
메뉴
Local(VSCode)에서 코드를 업데이트하면, 자동으로 EC2 서버에 코드를 동기화합니다.
Jenkins 서버에서 원격 저장소인 Github, 원격 서버인 EC2와 연결 할 Key를 생성합니다.
Jenkins 서버 직접 접속 (POD)
$POD_NAME=kubectl get po -o json | jq '.items[0].metadata.name' kubectl exec -it $POD_NAME -- /bin/bash
폴더 생성 (공유 스토리지 내에 생성)
# 공유 폴더로 이동 cd /var/lib/jenkins # 폴더 생성 mkdir .ssh
SSH key 생성
ssh-keygen -C laminar@comtec.kr Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): ./.ssh/id_rsa
권한 변경
chown -R jenkins: .ssh chmod 700 .ssh chmod 600 .ssh/id_rsa .ssh/id_rsa.pub
Public Key 복사
cat .ssh/id_rsa.pub # Expected Output # ssh-rsa AAAAB3NzaC1yc2EA ...
Private Key 복사
cat .ssh/id_rsa # Expected Output #-----BEGIN OPENSSH PRIVATE KEY----- #b3BlbnNzaC1rZXktdjEAAAAAB...
Jenkins에 빌드할 서버(Remote Server, = Target)를 추가합니다.
EC2 생성 (Amazon Linux 2)
EC2 접속
사용자 추가 (jenkins)
사용자 변경 (jenkins)
# 사용자 추가 sudo adduser jenkins # 사용자 변경 sudo su - jenkins
폴더 및 파일 생성
Public Key 붙여넣기
# 폴더 생성 mkdir .ssh # 권한 변경 chmod 700 .ssh # 파일 생성 touch .ssh/authorized_keys # 권한 변경 chmod 600 .ssh/authorized_keys # Public Key 붙여넣기 echo ssh-rsa AAAAB3NzaC1yc2EA >> ~/.ssh/authorized_keys
사용자 변경 (jenkins -> ec2-user)
exit
Java 11 설치
NodeJS 16.x 설치
git 설치
# Java 11 sudo amazon-linux-extras install java-openjdk11 # Node curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash . ~/.nvm/nvm.sh nvm install node node -e "console.log('Running Node.js ' + process.version)" # Expected Output # Running Node.js v16.5.0 # Git sudo yum install git -y
Jenkins Agent는 Java 기반으로 구동하여 Remote 서버에 Java를 설치합니다.
Jenkins 서버가 Node에 접속할 수 있도록 Node의 인증 정보를 저장합니다.
Manage Jenkins 선택
Manage Credentials 선택
(global) 선택
Add Credentials 선택
Kind - SSH Username with private key 선택
ID 입력 (ex: node01)
Username 입력 (ex: jenkins)
Private Key - Enter directly 선택
1.3에서 복사한 Private key 붙여넣기
OK 선택
Manage Nodes and Clouds 선택
New Node 선택
Node 이름 입력 (ex: node01)
Permanent Agent 선택
Name 입력 (ex: node01)
Remote root directory 입력 (ex: /home/jenkins)
Launch method - Launch agents via SSH 선택
Host 입력 - EC2 Public IP
Credentials 선택 - 위에서 생성한 인증 선택
Host Key Verification Strategy - Non verifying Verification Strategy 선택
Save 선택
Status 선택
연결 확인 (아래처럼 보이면 성공!)
Github Repository가 Private인 경우 SSH 설정이 필요합니다.
오른쪽 위 초상화 선택
Settings 선택
왼쪽 메뉴 중 SSH and GPG keys 선택
New SSH key 선택