클라우드 스쿨

Jenkins (1)

qqlzzb 2023. 8. 29. 22:21

◎ 초기 설정

1. jenkins 가상머신 실행
   vagrant up
   vagrant ssh jenkins

가상머신 대신 aws의 ec2를 사용해도 되지만 메모리가 부족할 수 있으므로 이를 조치해줘야 한다.

2. 자바설치
   sudo apt update
   sudo apt install openjdk-11-jdk

3. 젠킨스 설치
   curl -fsSL https://pkg.jenkins.io/debian/jenkins.io-2023.key | sudo tee \
  /usr/share/keyrings/jenkins-keyring.asc > /dev/null

   echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

   sudo apt update
   sudo apt-get intall jenkins -y

4. 젠킨스 접속

http://192.168.56.11:8080/ 들어가서
첫 연결시 sudo cat /var/lib/jenkins/secrets/initialAdminPassword로 초기 패스워드 확인 및 입력 후 설치
첫 연결이 아니라면 아이디 비번 입력



◎ 실습

실습 1 - fileA.txt에 hello 저장하기


1. 프로젝트 생성
새로운 아이템에서 freestyle project 생성후

2. 명령어 입력
configuration > execute shell 에
echo "hello">>fileA.txt 입력
후 저장 & 빌드

3. 결과 확인
console output에서도 확인 가능하고
cd /var/lib/jenkins/workspace/first_project
하면 fileA.txt 생성된 것도 확인 가능
fileA.txt안에 hello 저장되어있음


실습 2 - git clone 후 hello-world.war 파일 실행

1. git 클론해오기
git clone https://github.com/Yejin-Moon/source-maven-java-spring-hello-webapp
cd source-maven-java-spring-hello-webapp
mvn package

2. maven 프로젝트 생성하기
     1) 로컬시스템에서 명령어로 패키지 설치
          sudo apt install maven -y => 젠킨스에서 maven 사용시필수
     2) 대시보드에서 작업
          maven integration 플러그인 설치(대시보드 > 젠킨스관리 >    플러그인 설치 > availiable)
          환경변수 설정(대시보드>젠킨스관리>tool)
                    Jdk 설정항목   
                    이름 : jdk-11
                    경로 : /usr/lib/jvm/java-11-openjdk-amd64/

                    Maven 설정항목
                    이름 : mvn-3
                    경로 : /usr/share/maven

      3) 프로젝트 생성
           maven 프로젝트 선택
           소스코드 항목에서 깃저장소 주소 및 브랜치 main으로 지정
           빌드항목에서 pom.xml, clean package 입력

3. 톰캣인스턴스 접속
톰캣설정
1) 톰캣 패키지 설치
sudo apt update
sudo apt install tomcat9 tomcat9-admin

2) 설정파일 편집
sudo nano /etc/tomcat9/tomcat-users.xml 로 해당 파일의 아래 부분에 다음을 추가해준다.

<tomcat-users>

<role rolename = "manager-gui"/>
<role rolename = "manager-script"/>
<role rolename = "manager-jmx"/>
<role rolename = "manager-status"/>
<user username = "admin" password="m8749627" roles="manager-gui, manager-script, manager-jmx, manager-status"/>

</tomcat-users>

3) tomcat 포트 변경

나의 경우에는 젠킨스와 8080포트가 겹쳐서 8088로 변경해줬다.
sudo nano /etc/tomcat9/server.xml 파일 안에서
<Connector port="8088" protocol="HTTP/1.1" 부분을 찾아서 8088로 변경

이후 sudo systemctl restart tomcat9 로 시스템을 재시작한다.
-> http://192.168.56.11:8088/ 접속시 it works! 뜨면 톰캣 연결성공


4. 배포
1) 플러그인 설치
Deploy to container 설치(톰캣서버 배포시 사용)

2) credential 추가
Jenkins 관리 > 보안 > Credentials > global > add credential
xml에 설정한 유저네임과 패스워드 입력
id = 젠킨스 안에서 쓸 이름 아무거나 

3) 프로젝트 생성
배포하려면 새 아이템 생성해서
빌드후조치에서
Deploy war/ear to a container 선택
빌드되는 파일 이름 war files에 적어주기(hello-world.war)
container에서 톰캣 9.x remote 선택해서
credentials에서 아까 생성한 것 선택(이 단계에서 만들수도 있음)
tomcat url엔 http://192.168.56.11:8088

http://192.168.56.11:8088/hello-world/ 하면 hello world 페이지 뜸

'클라우드 스쿨' 카테고리의 다른 글

Jenkins (2)  (0) 2023.08.31
HTML / CSS  (0) 2023.07.06
Database(트랜잭션/DW/OLTP/SQL/NoSQL)  (0) 2023.06.30
React  (0) 2023.06.12
React - ref 객체 alert으로 출력  (0) 2023.06.11