Jenkins 실습

김승윤·2021년 10월 20일
0

java 설치 및 경로 지정

얼마전에 "Docker"를 이용하여 Jenkins를 설치하였습니다.

이번에는 "Docker"를 사용하지 않고 Jenkins를 설치, 이용하겠습니다.

vmware에 설치한 CentOS7(10.0.0.1)을 이용하겠습니다.

먼저 openjdk가 들어가는 패키지가 어떤 것들이 있는지 확인해보겠습니다.

#yum list *openjdk*


그 중 저는 'java-11-openjdk-devel.x86_64'를 설치하겠습니다.

전체 시스템 사용자들에게 공통적으로 적용하기 위해 환경변수를 설정하겠습니다.
먼저 java 심볼릭링크의 실제 주소를 readlink 명령어를 통해 알아봅니다.

#readlink /etc/alternatives/java

/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64/bin/java

이라는 경로가 나오는데 미리 복사를 해두고 환경변수를 설정하러 갑니다.

#vi /etc/profile

제일 밑에다가 openjdk의 경로를 지정합니다.
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64
export PATH=PATH:PATH:JAVA_HOME/bin

저장 후 source 명령어로 수정된 파일을 적용시켜줍니다.

#source /etc/profile

jenkins 설치

참고) http://www.jenkins.io

#yum install -y wget
#wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
#rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#yum install -y epel-release
#yum install -y jenkins 

key 값을 넣을때 오류가 계속 발생하면 centos 재부팅 후 다시 명령어를 입력하시면 됩니다.

Jenkins는 기본포트가 8080으로 설정되어 있지만 저는 60080포트를 이용해 접속하겠습니다. 그러기 위해서는 파일을 수정해줘야 합니다.

#vi /etc/sysconfig/jenkins

JENKINS_PORT="8080" -> JENKINS_PORT="60080"
으로 수정했습니다.

포트를 열었으면 방화벽 또한 추가해줘야 합니다.

#firewall-cmd --permanent --add-port=60080/tcp
#firewall-cmd --reload
#systemctl start jenkins

10.0.0.1:60080 으로 접속해보겠습니다.

익숙한 창이 뜹니다. "Docker"를 이용해서 jenkins를 설치할때도 본 창입니다. 이번에도 비밀번호를 찾아서 입력해줍니다.

#cat /var/lib/jenkins/secrets/initialAdminPassword

플러그인 설치 및 아이디를 만들면 jenkins 설치는 끝이 났습니다.

Jenkins 이용하기

'test'라는 freestyle project를 하나 만들겠습니다.

간단한 명령어를 입력하고 빌드합니다.

저장 - Build Now

성공하면 초록색으로 체크표시가 뜹니다.

CentOS에서 한번 더 확인하겠습니다.
명령어가 실행되는 경로는 /var/lib/jenkins/workspace/ 입니다.

제가 Jenkinks에서 명령어로 만든 test 디렉토리가 생겼습니다.

Jenkins로 apache 설치

실습했던 'test' project말고 apache를 위한 새로운 'HTTP' 디렉토리를 만들겠습니다.

순서는

  1. 디렉토리 만들기 /web
  2. 패키지 설치 expat, devel, gcc, gcc-++, wget
  3. 소스 다운로드 apr, apr-util, pcre, httpd
  4. 아카이브 & 압축해제
  5. make && make install
  6. 포트 & 실행
    입니다.

jenkins 사용자는 root 권한이 없기 때문에 sudo 명령어를 쓸 수 없는데 이를 해결하기 위해 아래와 같은 방법을 사용하겠습니다.

#sudo visudo
	jenkins ALL=(ALL)       NOPASSWD: ALL 추가

이제 jenkins 사용자도 root 권한이 생겼기 때문에 sudo 명령어를 사용할 수 있습니다.

순서에 맞게 명령어를 입력하겠습니다.

1. 디렉토리 만들기 /web
sudo mkdir /web
2. 패키지 설치 expat, devel, gcc, gcc-++, wget
sudo yum install -y expat-devel gcc gcc-c++ wget
3. 소스 다운로드 apr, apr-util, pcre, httpd
sudo wget -P /web https://downloads.apache.org/httpd/httpd-2.4.51.tar.gz
sudo wget -P /web https://downloads.apache.org/apr/apr-1.7.0.tar.gz
sudo wget -P /web https://jaist.dl.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz --no-check-certificate
sudo wget -P /web https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
4. 아카이브 & 압축해제
cd /web
sudo tar xvfz apr-1.7.0.tar.gz
sudo tar xvfz apr-util-1.6.1.tar.gz
sudo tar xvfz httpd-2.4.51.tar.gz
sudo tar xvfz pcre-8.45.tar.gz
5. make && make install
cd /web/apr-1.7.0 ; sudo ./configure --prefix=/web/apr ; sudo make && sudo make install
cd /web/apr-util-1.6.1 ; sudo ./configure --prefix=/web/aprutil --with-apr=/web/apr ; sudo make && sudo make install
cd /web/pcre-8.45 ; sudo ./configure --prefix=/web/pcre ; sudo make && sudo make install
cd /web/httpd-2.4.51 ; sudo ./configure --prefix=/usr/local/apache2 --with-apr=/web/apr --with-apr-util=/web/aprutil --with-pcre=/web/pcre ; sudo make && sudo make install

경로는 무조건 절대경로로 지정해야 오류가 발생하지 않습니다.

6. 포트 & 실행
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
sudo /usr/local/apache2/bin/apachectl start

저장 후 Build Now

성공했습니다.

10.0.0.1로 접속하여 확인해보겠습니다.

접속이 잘 되네요.

0개의 댓글