ec2 프리티어 사용 시 swap file 생서하여 용량 늘리는 방법 : https://okky.kr/article/884329
$sudo apt-get install jenkins
1. Jenkins 설치를 위해 Repository key 추가
$wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
OK
2. 서버의 sources.list에 Jenkins 패키지 저장소 추가
$sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > \
/etc/apt/sources.list.d/jenkins.list'
sudo tee /etc/apt/sources.list.d/jenkins.list
deb http://pkg.jenkins.io/debian-stable binary/
3. 패키지 인덱스 정보 업데이트
$sudo apt-get update
4. Jenkins 패키지 설치
$sudo apt-get install jenkins
5. Java JDK 8 설치
$sudo apt-get install openjdk-8-jdk
6. apt-get 재 업데이트 - 안해도 됨
$sudo apt-get update
7.Jenkins 포트 변경하기
- 보통 8080 포트를 사용하기 때문에 jenkins 포트는 따로 사용하는게 좋다.
$sudo vi /etc/default/jenkins
- HTTP_PORT=8080 부분을 9090 으로 바꿔준다.
8. Jenkins 실행하기
$sudo systemctl start jenkins
9. Jenkins 상태 확인
$sudo systemctl status jenkins
10.Jenkins 방화벽 설정
- 기본적으로 OS는 보안을 위해 방화벽으로 주요포트 이외의 대부분의 포트에 다른 호스트들의 접근을 막아놓는다.
- 9090포트 를 열어준다
- 우분투 초기 설정은 모두 allowed 되있지만 추가해줌
$sudo ufw allow 9090
11. Jenkins 초기 비밀번호 확인
- http://(hostIp or hostName):9090 에 초기 접속시 필요한 Administrator password 를 찾는다.
$sudo cat /var/lib/jenkins/secrets/initialAdminPassword
답장
834e374f274b45f882c7ddbeae535c2e
12. Jenkins 사이트로 이동 후 11번에서 확인한 비밀번호 입력
ec2 주소로 접속하면 아래와 같은 화면이 뜬다
13. Jenkins 플러그인 설치
14. Create First Admin User
- 이창에서 계정명 암호는 앞으로 계속 jenkins에서 사용되니 주의해서 작성
15. 환경 변수 및 기본 세팅
- 오른쪽 Jenkins 관리 → Global Tool Configuration 클릭
- jdk 경로
- openJDK를 설치했을 경우 경로를 위와같이 설정
- gradle 설정
젠킨스와 GitHub 연동
1. GitHub Integration 플러그인 설치
- Jenkins 웹페이지에서 Jenkins 관리 → 플러그인 관리 → 설치 가능을 선택 후 GitHub Integration 설치
- 체크후 Install without restart 클릭
2. Post build task 플러그인 설치
- 1과 같은 방법으로 검색 후 설치
- 이 플러그인으로 빌드시 task를 이용해 자동 배포가 가능하게 한다.
3. Jenkins Job 생성
- 원하는 Project 명 입력 → Freestyle project 클릭
- 구성을 클릭
- GitHub Project 체크후 본인 깃주소
- 소스 코드 관리에 Git 체크후 연동할 레포지토리 주소와 username 은 깃아이디 비밀번호는 git 비밀번호로 Credentials 설정
- 브랜치 정보 입력 (빌드할 브랜치 git clone 주소 .git)
- 나는 main 과 Develop 두개를 지정했다.
4.자동 빌드 & 배포 설정
5. Githup Webhook 세팅
- Jenkins 관리에서 Jenkins URL 확인
- GitHub 레포지토리 add webhook
- 자신의 프로젝트 레포지토리 → Setting → Webhooks →add webhook
- Payload URL 에서 Jenkins URL/github-webhook/ 을 입력해 준다.
- Content type 은 application/json
- Jenkins Webhook 세팅
- 프로젝트 페이지 → 구성에서 아까 빌드유발에 check 해둔 GitHub hook trigger for GITScm polling 에 체크를 해두었다면 그것으로 ok
- git 에서 push 를 하면 제대로 빌드, 배포가 되는지 확인
- 8080포트 쓰이고 있을때 sudo lsof -i:8080 로 그랩후 kill 하기