Study/Jenkins

CentOS7 환경에 Jenkins 설치하기, jenkins 공유 서버

hongeeii 2021. 11. 25.
728x90
반응형

 

  1. jdk 설치 및 JAVA_HOME 환경변수 추가
  2. Maven 설치
  3. Git 설치
  4. Jenkins 설치
    4-1) jenkins 패키지 설치
    4-2) jenkins 구성파일
    4-3) jenkins 시작
    4-4) 방화벽 개방
  5. 공유서버

 

1. JDK 1.8 설치

jenkins는 java로 작성된 프로그램으로 jdk8 또는 jdk11를 이용하여 동작합니다.
yum list 명령어를 이용하여 설치가능한 jdk8 목록을 출력합니다.

sudo yum list "java-1.8.0-openjdk-devel*"

jdk1.8 64bit용으로 설치합니다.

sudo yum install java-1.8.0-openjdk-devel.x86_64

 

 

javac 심볼릭링크의 실제 주소를 readlink 명령어로 읽어들여서,

which javac
/usr/bin/javac
readlink -f /usr/bin/javac
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/bin/javac

 

javac가 위치한 bin 디렉터리를 환경변수 PATH에 추가해줍니다.
전체 시스템 사용자들에게 공통적으로 적용하기 위해 /etc/profile에 환경변수 추가합니다.

sudo vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
PATH=$PATH:$JAVA_HOME/bin
export PATH

/etc/profile 의 맨 하단에 위와같은 정보를 추가한 후, source 명령어를 이용하여 변경사항을 적용합니다.

source /etc/profile

 

echo명령어로 방금전에 추가한 $JAVA_HOME 환경변수를 조회해봅니다.

echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64

 

2. Maven 설치

https://maven.apache.org/download.cgi 에서 maven 링크를 가져옵니다.

wget http://mirror.navercorp.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar xvzf apache-maven-3.6.3-bin.tar.gz

설치하고자 하는 경로에 압축파일을 다운 받아 압축을 해제한 후, 해당 폴더가 위치한 곳을 MAVEN_HOME으로 설정하면 됩니다.

sudo vim /etc/profile
export MAVEN_HOME=/usr/local/apple/Tools/apache-maven-3.6.3
PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
export PATH
source /etc/profile

JAVA_HOME과 마찬가지로 profile의 맨 하단에 MAVEN_HOME 환경변수를 추가한 후, maven관련 명령어 실행을 위해 PATH에 bin폴더를 추가합니다.

:wq! 로 변경정보를 저장 한후 source 명령어로 변경사항을 적용합니다.

 

echo $MAVEN_HOME
/usr/local/apple/Tools/apache-maven-3.6.3

echo명령어로 $MAVEN_HOME 환경변수를 조회된다면 환경변수가 정상적으로 등록된 것입니다.

 

만일 wget 명령어를 실행할 때 아래와 같은 에러메시지를 출력한다면 wget 명령어를 설치하면 됩니다.

bash: wget: command not found
sudo dnf search wget
sudo dnf install wget

 

mvn -v

위 명령어를 입력했을 때 잘 나온다면 설치가 잘 된것입니다.

 

////////////////위 방법(최신버전 설치)이 안된다면////////////////////

CentOS로 yum을 사용해 Apache Maven 설치

간단한 프로세스입니다.

터미널에 다음 명령을 입력하여 Maven을 설치합니다.

sudo yum install maven

 

 

mvn -v명령을 입력하여 설치를 확인합니다.

mvn -v

# Apache Maven 3.0.5 (Red Hat 3.0.5-17)
# Maven home: /usr/share/maven
# Java version: 1.8.0_191, vendor: Oracle Corporation
# Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
# Default locale: en_US, platform encoding: UTF-8
# OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix"

3. Git 설치

sudo yum install git

4. Jenkins 설치

4-1) jenkins 패키지 설치

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

yum install epel-release # repository that provides 'daemonize'

yum repository 사용을 위해 public key를 등록합니다.

sudo yum install jenkins

jenkins 패키지를 설치합니다.

4-2) jenkins 구성파일

설치를 완료했습니다.
바로 jenkins를 실행해도 되지만, jenkins의 기본 포트인 8080을 이미 다른 앱에서 사용하고 있기때문에 기본 포트를 바꾼 후 시작하고자 합니다.

jenkins에 대한 configuration 파일에서 JENKINS_PORT를 수정합니다.

sudo vim /etc/sysconfig/jenkins
# JENKINS_PORT="8080"
JENKINS_PORT="8880"

저의 경우 포트를 8880으로 바꿨습니다.

 

/etc/sysconfig/jenkins 에는 port 이외에 JENKINS_HOME 이나 JENKINS_USER와 같은 다양한 Jenkins 관련 설정을 할 수 있습니다.

JENKINS_HOME="/var/lib/jenkins"
JENKINS_USER="jenkins"

젠킨스를 실행시키고 웹을 통해 jenkins 웹 페이지에 접속했을 때 행해지는 모든 작업들은 JENKINS_USER인 jenkins가 실행하며, 작업물들은 JENKINS_HOME에 생성됩니다.

또, jenkins를 설치한 후, /etc/passwd에 jenkins 사용자가 생성된 것을 확인할 수 있습니다.

jenkins:x:993:990:Jenkins Automation Server:/var/lib/jenkins:/bin/false

마찬가지로 jenkins 사용자의 홈디렉터리가 /var/lib/jenkins로 설정되어 있네요.
그런데 jenkins 사용자의 경우, 맨 뒤에 /bin/false라고 쓰여져 있는데, 이 것은 쉘권한이 없는 사용자로 젠킨스 웹 사이트에서 이뤄지는 행위로 생성되는 파일 및 폴더들을 jenkins 권한으로 생성되도록 하기 위함입니다.

jenkins 사용자는 쉘 권한이 없기 때문에 terminal이나 command로 로그인을 할 수 없습니다. 오로지 jenkins 웹을 통한 작업만 가능합니다.

4-3) jenkins 시작

포트를 변경했으니 이제 jenkins를 시작해봅시다.

sudo systemctl start jenkins

jenkins는 서비스로 등록되어있기 때문에 systemctl 명령어로 시작할 수 있습니다.
(재시작을 원한다면 sudo systemctl restart jenkins)

(실행상태를 알고싶다면 sudo systemctl status jenkins)

 

그리고, http://호스트주소:포트 로 들어가면 jenkins 웹페이지에 접속할 수 있습니다.
최초 접근시엔 초기 비밀번호를 입력하라는 창이 뜹니다.

ip addr

위 명령어를 입력하면 자신의 ip주소를 알 수 있습니다.

 

위의 설명대로 /var/lib/jenkins/secrets/initialAdminPassword 파일로부터 초기비밀번호를 읽어서 입력합시다.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

 

그리고 필요한 플러그인도 설치합니다.

 

 

 

 

 

Jenkins 설치가 완료되었습니다!

 

4-4) 방화벽 개방

만일, jenkins 웹페이지가 열리지 않는다면 젠킨스에 설정한 포트가 방화벽에 설정되어있는지 확인해보시길 바랍니다.

sudo firewall-cmd --list-all
apple (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client mysql http
  ports: 8989/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

8880포트가 열려있지 않네요.

sudo firewall-cmd --permanent --service=jenkins --add-port=8880/tcp
sudo firewall-cmd --permanent --add-source=192.168.0.0 (자신의 ip주소)
sudo firewall-cmd --permanent --add-service=jenkins
sudo firewall-cmd --reload

jenkins 서비스에 대한 포트를 영구적으로 설정한 후, jenkins 서비스에 대한 방화벽을 영구적으로 개방한 후 reload 합니다.



출처: https://blog.jiniworld.me/88 [hello jiniworld]

 

 

5. 공유서버

공유서버는 VirtualBox에서 설정하였습니다.

해당 머신의 설정 - 네트워크 - NAT으로 연결 - 고급 클릭 - 포트 포워딩 클릭

게스트 IP, 게스트 포트엔 리눅스 서버 IP, Jenkins 포트 주소를 입력하고

호스트 IP, 포트에는 자신의 IP주소와 접속하고자 하는 포트번호를 입력합니다.

 

다른 컴퓨터에서 접속이 잘 되는것을 확인할 수 있습니다!

728x90
반응형

'Study > Jenkins' 카테고리의 다른 글

Jenkins에서 Tomcat 설정  (0) 2021.11.25
What is Jenkins?  (0) 2021.11.25

추천 글