Ubuntu 20.04에 Jenkins를 설치하는 방법

Ubuntu 20.04에 Jenkins를 설치하는 방법

2022-06-01 last update

8 minutes reading Ubuntu 20.04 Server Optimization

소개


중복적인 기술 임무에 직면했을 때 효과적인 자동화 해결 방안을 찾는 것은 번거로운 일일 수 있다.오픈 소스 자동화 서버 Jenkins을 사용하면 소프트웨어 구축에서 배치까지의 작업을 효율적으로 관리할 수 있습니다.Jenkins는 자바 기반으로 Ubuntu 패키지에서 설치할 수도 있고 웹 응용 프로그램 압축 파일(WAR) 파일을 다운로드하고 실행할 수도 있습니다. WAR 파일은 완전한 웹 응용 프로그램을 구성하고 서버에서 실행되는 파일 집합입니다.
이 강좌에서는 Ubuntu 20.04에 Jenkins를 설치하고 개발 서버를 시작하며 관리자를 만들어서 Jenkins의 기능을 탐색할 것입니다.이 강좌가 끝날 때, 당신은 개발급 서버를 사용할 수 있으나, 이 설치가 생산에 사용되는지 확인하려면 지침 How to Configure Jenkins with SSL Using an Nginx Reverse Proxy on Ubuntu 18.04을 따르십시오.

선결 조건


본 강좌를 배우려면 다음이 필요합니다.
  • Ubuntu 20.04 서버로 Ubuntu 20.04 initial server setup guide에 따라 비root sudo 사용자와 방화벽을 설정했습니다.최소 1GB RAM부터 시작하는 것이 좋습니다.생산 단계의 Jenkins 장치 용량을 계획하는 지침을 받으려면 Jenkins의 "Hardware Recommendations"을 방문하십시오.
  • installing specific versions of OpenJDK on Ubuntu 20.04에 대한 지침에 따라
  • Oracle JDK 11을 설치했습니다.
  • 1단계 - Jenkins 설치


    기본 Ubuntu 패키지에 포함된 Jenkins 버전은 일반적으로 프로젝트 자체의 최신 사용 가능한 버전보다 뒤떨어진다.최신 복구 프로그램과 기능을 확보하려면 프로젝트 유지 관리 패키지를 사용하여 Jenkins를 설치하십시오.
    먼저 저장소 키를 시스템에 추가합니다.
    1. wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
    키를 추가하면 OK이 반환됩니다.
    이제 서버 sources.list에 Debian 패키지 저장소 주소를 추가합니다.
    1. sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
    이 두 명령을 입력하면 update을 실행하여 apt이 새 저장소를 사용할 수 있도록 합니다.
    1. sudo apt update
    마지막으로 Jenkins 및 종속 항목을 설치합니다.
    1. sudo apt install jenkins
    이제 Jenkins와 그 의존 항목이 준비되었습니다. Jenkins 서버를 시작합니다.

    2단계 - Jenkins 시작


    systemctl 부터 Jenkins:
    sudo systemctl start jenkins
    
    systemctl에서 상태 출력이 표시되지 않으므로 status 명령을 사용하여 Jenkins가 성공적으로 시작되었는지 확인합니다.
    1. sudo systemctl status jenkins
    모든 것이 순조롭게 진행되면 상태 출력의 시작은 서비스가 활성 상태임을 표시하고 부트 시 시작하도록 구성합니다.
    Output
    ● jenkins.service - LSB: Start Jenkins at boot time Loaded: loaded (/etc/init.d/jenkins; generated) Active: active (exited) since Fri 2020-06-05 21:21:46 UTC; 45s ago Docs: man:systemd-sysv-generator(8) Tasks: 0 (limit: 1137) CGroup: /system.slice/jenkins.service
    이제 Jenkins가 시작되고 실행되었습니다. 웹 브라우저에서 초기 설정을 완료할 수 있도록 방화벽 규칙을 조정합니다.

    3단계 - 방화벽 열기


    UFW 방화벽을 설치하려면 Initial Server Setup with Ubuntu 20.04, Step 4- Setting up a Basic Firewall을 방문하십시오.기본적으로 Jenkins는 포트 8080에서 실행됩니다.우리는 ufw을 사용하여 이 포트를 열 것입니다.
    1. sudo ufw allow 8080
    참고 방화벽이 비활성 상태이면 다음 명령을 사용하여 OpenSSH를 열고 방화벽을 활성화합니다.
    1. sudo ufw allow OpenSSH
    2. sudo ufw enable
    ufw의 상태를 확인하여 새 규칙을 확인합니다.
    1. sudo ufw status
    다음 위치에서 포트 8080에 액세스할 수 있습니다.
    Output
    Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 8080 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 8080 (v6) ALLOW Anywhere (v6)
    Jenkins를 설치하고 방화벽을 설정하면 설치 단계를 마치고 Jenkins 설정에 들어갈 수 있습니다.

    단계 4 - Jenkins 설정


    설치를 설정하려면 서버 도메인 이름 또는 IP 주소를 사용하여 Jenkins의 기본 포트 8080: http://your_server_ip_or_domain:8080에 액세스하십시오.
    초기 암호가 표시되는 Jenkins 잠금 해제 화면이 표시됩니다.

    터미널 창에서 cat 명령을 사용하여 암호를 표시합니다.
    1. sudo cat /var/lib/jenkins/secrets/initialAdminPassword
    터미널에서 32자의 영숫자 암호를 복사하여 관리자 암호 필드에 붙여넣은 다음 계속을 클릭합니다.
    다음 화면에는 권장 플러그인 설치 또는 특정 플러그인 선택 옵션이 표시됩니다.

    설치 권장 플러그인 옵션을 누르면 설치 프로세스가 시작됩니다.

    설치가 완료되면 첫 번째 관리자를 설정하라는 메시지가 표시됩니다.이 절차를 건너뛰고 위에서 사용한 초기 비밀번호를 사용하여 admin을 계속 실행할 수 있지만, 사용자를 만드는 데 시간이 좀 걸릴 것입니다.
    참고: 기본 Jenkins 서버는 암호화되지 않으므로 양식과 함께 제출된 데이터는 보호되지 않습니다.웹 인터페이스를 통해 전송되는 사용자 인증서와 생성에 대한 정보를 보호하려면 How to Configure Jenkins with SSL Using an Nginx Reverse Proxy on Ubuntu 20.04을 참조하십시오.

    사용자의 이름과 암호를 입력합니다.

    인스턴스 구성 페이지에서 Jenkins 인스턴스의 기본 URL을 확인할 수 있습니다.서버의 도메인 이름 또는 서버의 IP 주소를 확인하려면 다음과 같이 하십시오.

    적절한 정보를 확인한 후 저장 을 클릭하여 완료합니다."Jenkins 준비 완료!"를 확인하는 확인 페이지가 나타납니다.

    를 클릭하여 Jenkins를 사용하여 Jenkins 마스터 대시보드에 액세스합니다.

    이로써 Jenkins 설치가 성공적으로 완료되었습니다.

    결론


    이 강좌에서는 프로젝트에서 제공하는 패키지를 사용하여 Jenkins를 설치하고 서버를 시작하며 방화벽을 열고 관리자를 만듭니다.이제 Jenkins를 탐색할 수 있습니다.
    탐색이 완료되면 안내서 How to Configure Jenkins with SSL Using an Nginx Reverse Proxy on Ubuntu 20.04에 따라 비밀번호를 보호하고 기계와 서버 간에 보내는 민감한 시스템이나 제품 정보를 명문으로 사용하여 Jenkins를 계속 사용하십시오.
    Jenkins를 사용하여 무엇을 할 수 있는지에 대한 자세한 내용은 해당 주제에 대한 추가 강좌를 참조하십시오.
  • How to Build Android Apps with Jenkins
  • How To Set Up Continuous Integration Pipelines in Jenkins on Ubuntu 16.04