ls -al
git ls-tree HEAD
# gradlew 에 실행 권한을 줘야 젠킨스에서 빌드 가능!!
git update-index --add --chmod=+x gradlew
git status
git add .
git commit -m "update gradlew chmod"
git psuh
📌 주의사항 : **--privileged**
docker run --name myjenkins --privileged -p 8080:8080 jenkins/jenkins:lts-jdk17
431cbcf269264ab3bd2db3f64f4d8f35 를 통해 젠킨스 로그인
단) ec2 보안그룹에 인바운드규칙에 8080 포트가 열려 있어야 한다!
gitbub 연동을 위해 url 설정
webhook 설정
파이프라인 스크립트 설정
pipeline {
agent any
stages {
stage('git 연동') {
steps {
echo 'start **********'
git branch: 'main',
credentialsId: 'id값',
url: 'https://github.com/Dumbveloper/fisa240220.git'
echo 'end **********'
}
}
stage('ist view'){
steps{
echo 'view list *****'
sh ''' whoami '''
sh ''' pwd '''
sh ''' ls -al'''
echo 'view list *****'
}
}
stage('build'){
steps{
echo 'build start *****'
sh ''' ./gradlew build'''
echo 'build end *****'
}
}
}
}
깃허브에 변경내용 push 시 자동으로 webhook 기능으로 알림 정보 우분투에 pull적용 및 빌드 가능
AWS 에서 제공하는 t2.micro 단위의 작은 EC2 가 사용자에게 기본적으로 제공하는 메모리 용량은 1GB
스토리지 용량은 30GB로 넉넉하게 제공하지만 1GB의 협소한 메모리 공간으로는 Jenkins로 Build 를 실행시키기에는 턱없이 부족하다.
이를 해결하기 위해, 프리티어 EC2 환경에서는 Linux 에서 제공해주는 RAM Swap 기능을 활용해 EC2 인스턴스를 괴롭히는 것을 멈추고 넉넉하게 메모리 공간을 할당하여 Jenkins 혹은 그 이외의 프로그램들이 원할하게 실행될 수 있는 환경을 만들어주도록 하자.
Ram Swap / Swap Memory 란?
스왑 메모리란, 실제 메모리 Ram이 가득 찼지만 더 많은 메모리가 필요할때 디스크 공간을 이용하여 부족한 메모리를 대체할 수 있는 공간을 의미한다.
디스크 공간을 대신 사용하는 만큼 실제 메모리처럼 속도가 빠르지 않기 때문에 실제 운영환경에서는 사용을 지양하도록 하자.
aws 공식 문서
https://repost.aws/ko/knowledge-center/ec2-memory-swap-file
sudo dd if=/dev/zero of=/swapfile bs=128M count=32
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s
sudo vi /etc/fstab
/swapfile swap swap defaults 0 0
free -m
Swap 공간이 잘 할당된 것을 확인할 수 있다.
의문의 일본 코딩 장인
https://breeze-winter.tistory.com/8