[PROJECT] 배포의 시작 - Jenkins 설치하기부터 EC2에 빌드까지

THOVY·2022년 11월 28일
0

PROJECT

목록 보기
11/20

시작 👊

일단 로컬에 젠킨스를 받아서 설정해보자.


젠킨스 다운로드 중

왜 그런지 몰라도 30분걸림 서버도 3번이나 끊김.




설치 끝


젠킨스 실행

localhost:5000 에 들어가면

한 2분 정도 기다려주면 이런게 나오는데

빨간글자로 적힌 폴더에 들어가면
이렇게 있다.

Password 파일을 메모장으로 열면 매우 간단한 비밀번호가 있고 복붙해서 사이트에 넣어주자.

EC2 에서 할 때는 또 다른 경로를 알려줄거다. 그건 조금 있다가 EC2 할 때 다시 알아보자. 우리는 일단 로컬에서 해보고 설정이 잘 되나 보려고하는거니께 일단 ㄱ

그러면 페이지가 바뀌면서 플러그인 설치화면이 나오는데 우린 모르니까 일단 해주자.




생각보다 오래걸림


이거는 우리가 이제 젠킨스에 접속할 때 사용할 아이디와 비밀번호다.


접속할 포트번호를 쓰자. 3000 과 8080 사이를 썼다.


본격적인 젠킨스 설정

새로운 item

diary-back 이라고 이름을 정하고
들어가면

깃허브 프로젝트 쳌

이름을 정하라는건 나중에하자.
우리는 갈길이 멀기 때문에
매우 기본적인 것만 해놓자.
영어못읽어서뭔지모르고그런거아님아무튼아님

이런 것도 체크해서 설정하면 좋지만, 중요한 게 아님.

일단 소스 코드 관리 에서 Git 을 선택해 우리의 소스코드가 어디에 있는지 알려주자

깃허브 레포 주소가 아니라. 주소는 저 위에 프로젝트 체크하고 적은거고, 소스코드는

이거다

그 다음 어떤 브런치를 빌드할 건지 적어넣자.

그다음 이런거 다 나중에합시다.

Build Steps, 빌드 후 조치 다 건너뛰고
일단! 만들어봐.
되나 안되나.
저장하고
지금 빌드 클릭

성공하면 이렇게 된다.

심심하니까 우리 깃허브를 잘 당겨왔구나 확인도해주고

자! 가자 다음으로


maven 설치하기

깃 프로젝트를 가져온다고 다가 아니지.

대시보드로가서

Global Tool Configuration 클릭

다 필요없고 제일 밑에 maven 우리는 메이븐이니까.

우리 프로젝트의 maven 버전에 맞게 maven 버전을 설정해주고 인스톨 오토메티클리 해준다. 설정이름은 아무거나 해도 된다 우리가 정하는 거니까.

Save 하고

다시 우리아이템으로 가서 구성

Build StepsDefault 를 우리가 조금 전에 설정했던 mavensetting 으로 바꿔주자.

Goals에는
clean package -D maven.test.skip=true 라고 적어준다.
영어그대로 테스트 생략하겠단거다.
Save 하고 지금 빌드 하면 잘 될거다.

설치 소요시간...

매우매우 오래걸린다.

이제 EC2 에 젠킨스깔고 이대로 해보면 배포되겠다.


EC2 에 젠킨스 설치하기

ec2 는 linux 로 만들면된다.

준비물은 EC2, EC2 만들면서 받은 pem을 ppk로 바꾼 ppk파일, putty, 인내심

puttyEC2 에 접속하기

  1. putty 홈페이지 가서 알맞은 버전을 다운 받는다
  2. putty 를 켠다.
  3. session 에 hostname 에 ec2 의 퍼블릭 DNS 를 적어넣는다.
  4. EC2 만들면서 받은 pem을 ppk로 바꾼 ppk 파일을 저기에 올려준다.
  5. 다시 세션으로 돌아가 방금 넣은 주소와 ppk 를 저장하기 위해 Saved Session 에 맘에 드는 이름을 정하고 save 해준다. 그럼 앞으로 우린 그 session 을 클릭해 오픈하면 된다.
  6. 이런 오류가 뜨면 Accept. 중요한 게 아니다
  7. login 은 ec2-user

성공적으로 EC2 에 접속했다. 이제 EC2젠킨스를 설치할 텐데, 그 전에 JAVA 를 깔아야한다.

우리의 프로젝트는 JAVA 11 이므로 11 을 설치할 거다.
하지만

sudo yum list | grep jdk 를 해보면( 설치가능한 jdk 버전 확인 )

가슴 아프게도 자바 11 은 없다

그래도 우리는 java11 을 설치할 거다.

EC2JAVA 11 설치하기

포기하지말고 차례로 입력하자

  1. sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm
  2. sudo yum localinstall jdk11.rpm
  3. java -version 확인
  4. javac -version 확인
  5. sudo rm -rf jdk11.rpm 으로 설치킷 제거
  6. which java
  7. 저 경로(/usr/bin/java)를 복사해서 readlink -f /usr/bin/java 를 입력한다.
  8. 저 경로를 JAVA_HOME 에 입력해줘야한다.
  9. sudo vi /etc/profile
  10. shift + G 로 마지막 줄로 이동
  11. i 로 수정모드로 바꾼 후 입력한다.
export JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto/bin/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar


12. ESC + :wq! 로 저장하고 나온다.
13. source /etc/profile 로 설정을 저장한다.
14. echo $JAVA_HOME 으로 확인

참고
EC2 java11 설치

본격적인 Jenkins 설치

이제 자바 설치도 됐고, 설정도 마쳤으니 젠킨스 설치를 하면 된다.
Jenkins Docs

  1. sudo yum update -y 로 업데이트를 해주고
  2. Jenkins Docs 에 나와있는 코드를 입력해주자.
    2-1. sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    2-2. 설치되면 sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    2-3. 이제 진짜 젠킨스 sudo yum install jenkins
  3. 우리는 백엔드에서 8080 포트를 사용하고 있기 때문에 포트를 바꿔줄거다. 헷갈리니까. 혹은 이미 사용하고 있을 수 있기 때문에 바꿔줘야한다면 sudo vi /etc/sysconfig/jenkins 를 이용해 수정한다.
  4. sudo vi /usr/lib/systemd/system/jenkins.service 를 입력해 여기도 수정한다.
  5. 대망의 sudo systemctl start jenkins

    6.[OK] 가 나오면 된다.
  6. sudo systemctl status jenkins 로 상태를 확인해보자

잘된다. 고생했다. 나의 젊음 6시간


이제 EC2 에 설치한 젠킨스에 접속해보자.

{EC2 퍼블릭 IP} : 9090 으로 접속해 젠킨스를 열어보자.
안된다.? 그럼 인바운드 규칙에 9090 포트가 없다는 것. 자기 포트를 추가해주자.

9090 으로 접속하면

이렇게 우리가 로컬에서 만들었을 때와 같은 화면이 나온다. 하지만 패스워드 확인할 주소가 다르지.

putty 에 들어가서 패스워드를 확인해주자.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword 확인

복사해서 입력하면

이제 다시 설치지옥

설치가 끝나면 우리가 로컬에 해봤던 본격적인 젠킨스 설정을 똑같이 하면 된다.

ERROR ❌

🙂ㅎㅎ..???

SOLUTION ✅

git 설치해주자. sudo yum install git

젠킨스 새로고침 🙂ㅎㅎ;;

일단 빌드 성공

빌드 환경 설정 ㄱㄱ

설정하고 다시 빌드 ㄱㄱ
지금은 새벽 3시 57분


로컬에서 하는 것보다 매우 빠르게 끝났다.

이제 빌드 까지는 끝났고, 빌드 후 이 친구들이 실행되도록 해야한다.
로컬에서도 인텔리제이에서 서버를 안켜주면 아무소용없잖아?

오늘은 늦었으니 그건 내일 post build task 를 가지고 해보자


빌드 후 조치

플러그인 관리 에 들어가서 post build task 를 설치하고



구성에서 빌드 후 조치 드랍박스를 클릭해서 설정을 해주면된다.

일단 이런 식으로 하는 거임.

삼일간 매우 고생했다.

profile
BEAT A SHOTGUN

0개의 댓글