728x90
반응형
SMALL
반응형
# Architecture
우선 간단하게 구성을 하려 한다.
이후에 S3, Code Deploy 추가 후 SNS를 이용하여 Slack 알림까지 확장해야겠다.
반응형
# 사전 작업
## EC2 생성
- AMI : Amazon Linux 2 AMI
- 인스턴스 유형 : t2.micro
- 키 페어 및 기타 설정은 적절하게 세팅
반응형
## Java 설치
sudo yum update -y
cd /home/{customuser}
# aws coreetto 다운로드
curl -LO https://corretto.aws/downloads/resources/11.0.17.8.1/java-11-amazon-corretto-devel-11.0.17.8-1.x86_64.rpm
# java 설치
sudo yum localinstall java~~
# java version 확인
java -version
# 다운로드 파일 삭제
rm -rf java~~
또는 간단하게
sudo amazon-linux-extras install java-openjdk11 -y
## 시간 동기화
EC2의 시간을 Chrony 방식으로 동기화한다.
# 시간 확인
date
# EC2 실행될 때마다 Chronyd 방식으로 시간을 동기화 하도록 설정
chkconfig chronyd on
# Chrony가 169.254.169.123 IP 주소를 사용하여 시간 동기화를 하는지 확인
chronyc sources -v
# 시간 동기화 지표 확인
chronyc tracking
# 타입존 설정
# ZONE="Asia/Seoul"
# KST=True
vim /etc/sysconfig/clock
# 현재 타임존 확인
cat /etc/localtime
# 기존 설정 삭제
rm /etc/localtime
# 대한민국 표준 시간대 정보 심볼릭 링크로 설정
ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
# 시간 확인
date
## 메모리 SWAP 설정
EC2 프리티어 t2.micro의 메모리는 1GB이기 때문에 Jenkins를 사용하는데 무리가 있다.
# 메모리 확인
free -h
# swap 메모리 할당
dd if=/dev/zero of=/swapfile bs=128M count=16
# 권한 추가
chmod 600 /swapfile
# swap 영역 설정
mkswap /swapfile
# swap 공간에 swap file을 추가해 즉시 사용할 수 있게 설정
swapon /swapfile
# swap 확인
swapon -s
# fstab에 /swapfile 설정 추가
# /swapfile swap swap defaults 0 0
vi /etc/fstab
# 메모리 확인
free -h
반응형
# Jenkins 세팅
## Jenkins 설치
Docker 사용은 아래 참고
https://hoooon-s.tistory.com/252
sudo yum update –y
# Jenkins Repo 추가
wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
# Jenkins-CI Key file import
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum upgrade
sudo yum install jenkins -y
sudo systemctl enable jenkins
sudo systemctl start jenkins
## Jenkins Port 설정
기본 포트 : 8080
하지만 다른 프로그램도 일반적으로 8080 포트를 사용하기에 9000으로 변경하여 사용
# port 9000 변경
sudo vi /etc/sysconfig/jenkins
# port 9000 변경
sudo vi /usr/lib/systemd/system/jenkins.service
## Nginx Reverse Proxy
amazon-linux-extras install -y nginx1
nginx -v
sudo systemctl start nginx.service
# location 설정 부분 추가
vi /etc/nginx/nginx.conf
server {
# 추가
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
...
}
$ sudo systemctl restart nginx.service
## Jenkins Config
http://<your_server_public_DNS>:<port> 접속
### Unlock Jenkins
초기 패스워드를 복사해서 입력한다.
# password
cat /var/lib/jenkins/secrets/initialAdminPassword
### Admin 계정 생성
### Plugin 설치
Install suggested plugins 클릭
### URL 설정
728x90
반응형
LIST
'Develope > AWS' 카테고리의 다른 글
[AWS] ACM & Route53으로 DNS 연동하기 (0) | 2022.11.10 |
---|---|
[AWS] EC2에 Apatch & Tomcat 설치 (0) | 2022.11.07 |
[AWS] CI/CD 구축 : 사용자 및 역할 생성 (0) | 2022.11.04 |
[AWS] AWS 기본 개념 (0) | 2022.11.02 |
[AWS] 클라우드 기본 개념 (0) | 2022.11.02 |