CentOS 7에서 Nginx와 함께 Jenkins 자동화 서버를 설치하는 방법
이 페이지에서
- 기본 시스템 업데이트
- JAVA 8 설치
- Jenkins 설치
- Jenkins 시작
- Nginx 설치
- 방화벽 및 SELinux 구성\n
- Jenkins 구성
- 결론
Jenkins는 무료 오픈 소스 지속적 통합 서버입니다. JAVA로 작성되었습니다. 빌드 테스트 및 배포와 같은 소프트웨어 개발과 관련된 다양한 작업을 자동화하는 데 사용할 수 있습니다. git, SVN, mercurial 등과 같은 많은 버전 제어 시스템을 지원합니다.
이 튜토리얼에서는 CentOS 7 서버에 Jenkins Automation Server를 설치합니다. 또한 Nginx를 Jenkins의 리버스 프록시로 설정합니다.
전제 조건
- 최소 CentOS 7 서버
- 루트 권한. 이 가이드는 루트 사용자로 작성되었으므로 sudo 사용자로 로그인한 경우 sudo -i를 실행하십시오.\n
기본 시스템 업데이트
패키지를 설치하기 전에 다음 명령을 사용하여 패키지와 리포지토리를 업데이트하는 것이 좋습니다.
yum -y update
시스템이 업데이트되면 계속 진행하여 JAVA를 설치합니다.
자바 8 설치
Jenkins는 OpenJDK와 Oracle JAVA를 모두 지원합니다. 이 자습서에서는 최신 버전의 OpenJDK를 서버에 설치합니다. 다음 명령을 실행하여 서버에 OpenJDK를 설치합니다.
yum install java-1.8.0-openjdk
이제 다음 명령을 사용하여 Java 버전을 확인할 수 있습니다.
java -version
다음과 같은 결과가 표시됩니다.
[ ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
또한 JAVA_HOME 환경 변수가 설정되어 있는지 확인해야 합니다. 동일하게 다음 명령을 실행하십시오.
echo $JAVA_HOME
null 또는 빈 출력이 표시되면 JAVA_HOME 변수를 수동으로 설정해야 합니다. 선호하는 편집기를 사용하여 .bash_profile 파일을 편집합니다. 이 자습서에서는 나노 편집기를 사용합니다. nano를 사용하여 .bash_profile을 편집하려면 다음 명령을 실행하십시오.
nano ~/.bash_profile
이제 파일 끝에 다음 행을 추가하십시오.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/ export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
이제 다음 명령을 사용하여 파일을 소싱합니다.
source ~/.bash_profile
이제 echo $JAVA_HOME 명령을 다시 실행하여 환경 변수가 설정되었는지 여부를 확인할 수 있습니다.
[ ~]# echo $JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/
이제 JAVA가 설치되었으므로 Jenkins 설치를 계속 진행할 수 있습니다.
젠킨스 설치
Jenkins는 리포지토리를 추가하고 GPG 키를 가져와서 직접 설치할 수 있습니다. 다음 명령을 실행하여 시스템에 Jenkins 리포지토리를 추가합니다.
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
wget이 설치되어 있지 않으면 yum -y install wget을 실행할 수 있습니다.
다음 명령을 실행하여 GPG 키를 가져옵니다.
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
가져오기가 성공하면 다음 명령을 실행하여 Jenkins를 설치할 수 있습니다.
yum -y install jenkins
Jenkins가 이제 서버에 설치되었습니다. 이제 필요한 모든 패키지가 설치되었습니다. 설치 프로그램은 프로세스를 실행하기 위해 새 사용자 jenkins도 생성했습니다. 계속 진행하여 서버를 시작할 수 있습니다.
젠킨스 시작하기
다음 명령을 실행하여 Jenkins를 시작할 수 있습니다.
systemctl start jenkins
Jenkins를 중지하려면 다음 명령을 실행할 수 있습니다.
systemctl stop jenkins
다음 명령을 실행하여 프로세스의 상태를 확인할 수 있습니다.
systemctl status jenkins
Nginx 설치
포트 8080에서 애플리케이션에 액세스하는 대신 Apache 또는 Nginx 웹 서버를 사용하여 애플리케이션에 대한 역방향 프록시를 만들 수 있습니다. 이 튜토리얼에서는 애플리케이션의 리버스 프록시로 nginx를 사용할 것입니다. 이제 nginx는 nginx 프록시 서버 뒤에서 실행됩니다. nginx는 기본 YUM 저장소에서 사용할 수 없습니다. Nginx를 설치하려면 EPEL 저장소를 설치해야 합니다.
yum -y install epel-release
이제 다음을 실행하여 Nginx를 설치할 수 있습니다.
yum -y install nginx
다음 명령을 실행하여 새 서버 블록을 생성합니다.
nano /etc/nginx/conf.d/jenkins.conf
다음 콘텐츠로 파일을 채웁니다. ci.yourdomain.com을 실제 도메인 이름으로 바꿉니다.
upstream jenkins{ server 127.0.0.1:8080; } server{ listen 80; server_name ci.yourdomain.com; access_log /var/log/nginx/jenkins.access.log; error_log /var/log/nginx/jenkins.error.log; proxy_buffers 16 64k; proxy_buffer_size 128k; location / { proxy_pass http://jenkins; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
파일을 저장하고 편집기를 종료합니다. 이제 다음 명령을 실행하여 Nginx를 시작할 수 있습니다.
systemctl start nginx
다음 명령을 실행하여 Nginx가 부팅 시 자동으로 시작되도록 활성화합니다.
systemctl enable nginx
방화벽 및 SELinux 구성
서버에서 실행 중인 방화벽이 있는 경우 방화벽을 통해 포트 8080 및 표준 HTTP 포트를 허용해야 합니다. 다음 명령을 실행하여 포트 8080 및 80을 허용하는 방화벽 규칙을 추가합니다.
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
다음을 실행하여 방화벽 영역을 다시 로드합니다.
firewall-cmd --reload
다음 명령을 실행하여 nginx 프록시 구성을 위해 SELinux를 구성합니다.
setsebool httpd_can_network_connect 1 -P
젠킨스 구성
이제 다음 웹 주소로 이동하여 Jenkins CI 서버의 웹 인터페이스에 액세스할 수 있습니다.
http://ci.yourdomain.com
ci.yourdomain.com을 실제 도메인으로 바꿉니다. 다음 인터페이스가 표시됩니다.

설치 프로그램에서 생성되고 /var/lib/jenkins/secrets/initialAdminPassword 파일에 저장된 초기 관리자 비밀번호를 묻습니다. 다음 명령을 실행하여 초기 관리자 암호를 얻습니다.
cat /var/lib/jenkins/secrets/initialAdminPassword
비밀번호를 사용하여 로그인하여 계속 진행하십시오.
다음 섹션에서는 설치하려는 플러그인을 묻는 메시지가 표시됩니다. 초보자의 경우 추천 플러그인 설치를 선택하는 것이 좋습니다.

시작하는 데 필요한 모든 플러그인이 설치됩니다.
다음 인터페이스에서 플러그인을 설치합니다.

이제 Jenkins 관리 대시보드에 대한 관리자 사용자를 생성해야 합니다.

마지막으로 Jenkins 관리 대시보드로 이동합니다.

결론
이제 소프트웨어 개발에서 지속적인 통합을 위해 Jenkins를 사용할 수 있습니다. Jenkins 웹 사이트로 이동하여 Jenkins에 대해 자세히 알아볼 수 있습니다.