✔️ 배포와 빌드
서버 어플리케이션에 기능을 추가하려면 개발자가 노트북에서 개발을 완료하고 테스트까지 한 다음에 이상이 없을 시 사용자가 사용할 수 있게 수정된 내용을 서버에 반영해야 한다.
이중에서
✔️ 그래서 jenkins로 주로 어떤 걸 하는걸까? (이해한 내용)
사용자가 github repository 생성 후, project push -> aws ec2에 libs 파일을 생성 한다.
이후, jenkins에서 배포 및 빌드를 자동화를 할시,
사용자가 github에 push할 때마다 .jar 파일이 aws(ec2)에 자동으로 업데이트 된다.
원래는 업데이트 될 때마다, ec에 git pull 한 후, lib 파일 새로 생성해야 했다.
✔️ 최신 안정 버전의 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-get update
$ sudo apt-get install jenkins
✔️ Jenkins 서버 시작, 활성화 및 상태 확인
$ sudo systemctl start jenkins -- 시작
$ sudo systemctl status jenkins -- 상태
$ sudo service jenkins start -- 시작
$ sudo service jenkins stop -- 종료
$ sudo service jenkins restart -- jenkins 재시작
$ sudo systemctl enable jenkins -- enable 설정
✔️ Jenkins port 변경
(1) Jenkins Version 2.335 이전일 경우
$ sudo vi /etc/default/jenkins
(2) Jenkins Version 2.335 이후일 경우
$ sudo vi /lib/systemd/system/jenkins.service
를 통해 vi 편집기를 열고 나서, port를 찾은 후 변경하면 된다.
✔️ Jenkins 비밀번호 조회
/Users/leekyoungchang/.jenkins/secrets/initialAdminPassword
: 서버 실행 후, 이를 입력할 시 비밀번호 조회 가능
✔️ port 변경하기
port를 변경하기 위해서는 homebrew.mxcl.jenkins.plist
파일을 찾아야 한다.
어디에 있냐면?
/opt/homebrew/Cellar/jenkins/2.385/homebrew.mxcl.jenkins.plist
에 있다.
vi /opt/homebrew/Cellar/jenkins/2.385/homebrew.mxcl.jenkins.plist
입력할 시
9000번으로 변경하고 실행하면?
정상적으로 실행된다.
✔️ jenkins 실행 명령어
$ brew services start jenkins // 젠킨스 시작
$ brew services stop jenkins // 젠킨스 종료
$ brew services restart jenkins //젠킨스 재시작
💡 참고
- jenkins 블로그 : https://be-developer.tistory.com/13
ec2를 생성 후, ssh -i "aws secret access key" ubuntu@주소
를 입력하여 가상 서버 접속
이후
- git clone 한다.
- mkdir app/repository 생성
- sudo apt-get install openjdk-11-jdk : Jdk 설치
- ./gradlew build : build 디렉터리에 libs파일 생성
libs
디렉터리에서 압축된 .jar 파일
을 배포하면 된다!
✔️ 배포
jar
파일 이름 :
이와 관련 vim도 생성해야하지만 여기서는 간단한 배포만 하겠다.
✔️ 추가로 프로젝트 내용이 업데이트 될 때마다, jar파일을 만들어야하는 귀찮은 작업이 필요하다.
./gradlew build
로 업데이트 내용이 적용된 jar 파일 만든다.
=> jenkins
를 이용하면 이런 귀찮은 것을 한 번에 처리할 수 있다.