Ubuntu 18.04 에 Jenkins 설치하기

By | 2020년 4월 5일
Table of Contents

Ubuntu 18.04 에 Jenkins 설치하기

Jenkins 설치하기

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
echo deb http://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt-get update
sudo apt-get install jenkins

포트를 변경해야 하면 아래 명령으로 변경할 수 있습니다.

sudo vi /etc/default/jenkins

HTTP_PORT=8080

젠킨스 서버를 시작합니다.

sudo service jenkins restart
sudo systemctl status jenkins

http://<젠킨스서버아이피>:8080 를 접속하여 젠킨스에 접속할 수 있습니다.

아래 명령으로 비밀번호를 확인할 수 있습니다.

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

로그인 후 admin 계정에 대한 비밀번호를 변경할 수 있습니다.

Jenkins 와 nginx 연동하기

sudo rm /etc/nginx/sites-enabled/default
sudo rm /etc/nginx/sites-available/default
sudo vi /etc/nginx/sites-available/jenkins.skyer9.pe.kr

server {
    listen 8000;
    server_name jenkins.skyer9.pe.kr;

    location / {
        proxy_set_header        Host $host:$server_port;
        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 $scheme;

        # Fix the "It appears that your reverse proxy set up is broken" error.
        proxy_pass          http://127.0.0.1:8080;
        proxy_read_timeout  90;

        proxy_redirect      http://127.0.0.1:8080 $scheme://jenkins.skyer9.pe.kr:8080;

        # Required for new HTTP-based CLI
        proxy_http_version 1.1;
        proxy_request_buffering off;
        # workaround for https://issues.jenkins-ci.org/browse/JENKINS-45651
        add_header 'X-SSH-Endpoint' 'jenkins.domain.tld:50022' always;
    }
}
sudo cp /etc/nginx/sites-available/jenkins.skyer9.pe.kr /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

http://jenkins.skyer9.pe.kr:8000 를 접속하여 젠킨스에 접속할 수 있습니다.

젠킨스 설정 중 Jenkins URL 이 http://jenkins.skyer9.pe.kr:8000/ 로 설정되어 있는지 확인합니다.

Jenkins 와 nginx SSL 연동하기

sudo vi /etc/nginx/sites-available/jenkins.skyer9.pe.kr

server {
    listen 8000 ssl;
    server_name jenkins.skyer9.pe.kr;

    location / {
        proxy_set_header        Host $host:$server_port;
        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 $scheme;

        # Fix the "It appears that your reverse proxy set up is broken" error.
        proxy_pass          http://127.0.0.1:8080;
        proxy_read_timeout  90;

        proxy_redirect      http://127.0.0.1:8080 $scheme://jenkins.skyer9.pe.kr:8080;

        # Required for new HTTP-based CLI
        proxy_http_version 1.1;
        proxy_request_buffering off;
        # workaround for https://issues.jenkins-ci.org/browse/JENKINS-45651
        add_header 'X-SSH-Endpoint' 'jenkins.domain.tld:50022' always;
    }

    ssl_certificate /etc/letsencrypt/live/skyer9.pe.kr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/skyer9.pe.kr/privkey.pem;
}
sudo cp /etc/nginx/sites-available/jenkins.skyer9.pe.kr /etc/nginx/sites-enabled/

SSL 을 추가해 놓은 서브도메인이 아니면 추가해 주어야 합니다.

sudo certbot --nginx -d skyer9.pe.kr -d www.skyer9.pe.kr -d m.skyer9.pe.kr -d jenkins.skyer9.pe.kr
sudo nginx -t
sudo systemctl reload nginx

https://jenkins.skyer9.pe.kr:8000 를 접속하여 젠킨스에 접속할 수 있습니다.

젠킨스 설정 중 Jenkins URL 이 https://jenkins.skyer9.pe.kr:8000/ 로 설정되어 있는지 확인합니다.

Jenkins admin 계정 삭제

젠킨스 메인메뉴 > 젠킨스 관리 > Manage Users 에서 사용자 생성 메뉴를 이용해 계정을 생성할 수 있습니다.

계정 생성 후, 새로 생성한 계정으로 로그인하고, admin 계정을 삭제하길 권장합니다.

답글 남기기