티스토리 뷰

CI,CD

Ubuntu에 Jenkins 설치하기

out of coding 2020. 6. 30. 00:39

저의 개인 공간 환경은 gitlab을 이용하여 push를 할 경우에 Jenkins에서 trigger 하여서 이것을 Docker Image로 만들고 Image를 Container를 동작시키도록 하도록 되어 있습니다.

 

말이 기네요...

 

아무튼 그래서 Docker를 이용하여 Jenkins를 설치하기 보다는 그냥 Image를 만들어서 바로 동작시키면 되므로 이것을 그냥 Ubuntu에 설치를 하였습니다.

 

설치한 방법을 알아봅시다.

자바가 설치되어 있는가?

$ java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

이렇게 하면 보이기는 하는데 설치는 된겁니다.

그럼 JAVA_PATH까지 잡아줍시다.

$ vi ~/.bashrc

제일 아래에 이런것을 넣어주세요.

# Java
export JAVA_HOME=/usr/bin/java
export PATH="$PATH:$JAVA_HOME/bin"

JAVA_HOME 뒤에 부분은 which java 하면 보이므로 그것을 넣어주세요.

Jenkins 설치를 위해서 repository key를 추가

$ wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

Jenkins repository를 추가

$ echo deb https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list

Jenkins를 설치하여 봅시다.

$ sudo apt-get update
$ sudo apt-get install jenkins

Port를 변경하여 줍시다.

$ sudo vi /etc/default/jenkins
$ sudo vi /etc/init.d/jenkins

이 두개의 파일에서 8080을 찾아서 원하는 port로 만들어 줍시다.

8080은 톰캣이 사용하고 있는 경우가 대부분이라 아마도 바꾸셔야 할겁니다.

DockerImage를 빌드하시려는 분들은 이것을 하기 전에 먼저...

2020.07.04 추가

먼저 Jenkins Home을 변경하여 주도록 합시다.

jenkins가 구동되어 있으면 다음과 같이 정지를 시킵시다.

$ sudo service jenkins stop

Jenkins service start

$ sudo systemctl start jenkins

이렇게 home 아래에 jenkis_home을 만들어 줍니다. 이름을 마음대로 하세요.

$ mkdir /home/jenkins_home

그리고서는 오너를 바꿉시다

$ sudo chown jenkins:jenkins /home/jenkins_home/

만들어진것을 모두 복사합니다.

$ sudo cp -prv /var/lib/jenkins /home/jenkins_home/

usermod 하여 줍니다.

$ sudo usermod -d /home/jenkins_home/ jenkins

/etc/default/jenkins 파일을 수정하여 줍시다.

$ sudo vi /etc/default/jenkins

JENKINS HOME을 변경합니다.

JENKINS_HOME=/home/jenkins_home

Jenkins service status check

$ systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
   Loaded: loaded (/etc/init.d/jenkins; generated)
   Active: active (exited) since Mon 2020-06-29 15:11:47 UTC; 20min ago
     Docs: man:systemd-sysv-generator(8)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/jenkins.service

Jun 29 15:11:45 playground systemd[1]: Starting LSB: Start Jenkins at boot time...
Jun 29 15:11:45 playground jenkins[28673]: Correct java version found
Jun 29 15:11:45 playground jenkins[28673]:  * Starting Jenkins Automation Server jenkins
Jun 29 15:11:46 playground su[28767]: Successful su for jenkins by root
Jun 29 15:11:46 playground su[28767]: + ??? root:jenkins
Jun 29 15:11:46 playground su[28767]: pam_unix(su:session): session opened for user jenkins by (uid=0)
Jun 29 15:11:46 playground su[28767]: pam_unix(su:session): session closed for user jenkins
Jun 29 15:11:47 playground jenkins[28673]:    ...done.
Jun 29 15:11:47 playground systemd[1]: Started LSB: Start Jenkins at boot time.

Active를 보게 되면 정상적으로 동작되고 있는겁니다.

브라우저를 열어서...

http://IP:Port 페이지를 불러와 봅시다. exam) http://192.168.1.1:9999

Unlock Jenkins를 해제합시다.

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

처음 initial admin password가 나오게 되고 복사해서 브라우저에 넣어줍시다.

Install suggested plugins 선택

설치가 주욱 될겁니다.

Create First Admin User

자신이 원하는 계정명, 암호, 암호확인, 이름, 이메일 주소를 넣고 Save and Finish를 하여 줍니다.

Start using Jenkins

그냥 본능적으로 눌러줍니다.

Jenkins에 오신 것을 환영합니다.

 

'CI,CD' 카테고리의 다른 글

Jenkins. gitlab trigger 사용하기  (0) 2020.07.04
jenkins에 gitlab 연동해봅시다. and docker image 배포  (2) 2020.07.04
[Jenkins]설치 및 port변경  (2) 2015.01.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함