포스트

시놀로지 NAS Docker에서 젠킨스 설정

CI/CD(지속적 통합/지속적 배포)도구가 많이 있는데, 젠킨스는 라이선스 제한이 없고 오픈 소스도 없는 유용한 도구 중 하나입니다. 시놀로지 NAS Docker에 젠킨스를 설치하는 방법에 대해 이야기하고 싶습니다.

  • https://pkg.jenkins.io/debian

기본환경

젠킨스가 작동하려면 JDK 버전 8 이상이 필요합니다. JDK 버전 11을 설치합니다.

1
2
3
4
5
6
7
8
9
10
apt-get update
apt-get install -y openjdk-11-jdk

java -version
# + --------------------------------------------------------
openjdk version "11.0.21" 2023-10-17
OpenJDK Runtime Environment (build 11.0.21+9-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.21+9-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
# - --------------------------------------------------------

젠킨스 패키지 설치

APT를 사용하여 젠킨스를 설치하려면 APT에 서버 정보를 추가해야 합니다. 젠킨스 서버 정보를 추가한 후 apt update 도중 키가 없다는 오류가 발생합니다. 오류 메시지에 표시된 키를 사용하여 apt-key에 키를 추가하세요. 제 경우에는 키가 5BA31D57EF5975CA였습니다.

APT에 주요 정보를 추가한 후 젠킨스를 설치합니다.

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
32
33
34
35
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

apt-get update
# + --------------------------------------------------------
...
W: GPG error: https://pkg.jenkins.io/debian-stable binary/ Release: The following signatures couldnt be verified because the public key is not available: NO_PUBKEY 5BA31D57EF5975CA
E: The repository 'http://pkg.jenkins.io/debian-stable binary/ Release' is not signed.
...
# - --------------------------------------------------------

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5BA31D57EF5975CA
# + --------------------------------------------------------
Executing: /tmp/apt-key-gpghome.d7qO7VDcMV/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys 5BA31D57EF5975CA
gpg: key 5BA31D57EF5975CA: public key "Jenkins Project <jenkinsci-board@googlegroups.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1
# - --------------------------------------------------------

apt-get update
# + --------------------------------------------------------
Ign:1 https://pkg.jenkins.io/debian-stable binary/ InRelease
Get:2 https://pkg.jenkins.io/debian-stable binary/ Release [2044 B]
Get:3 https://pkg.jenkins.io/debian-stable binary/ Release.gpg [833 B]
Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease
Hit:5 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Get:6 https://pkg.jenkins.io/debian-stable binary/ Packages [29.6 kB]
Hit:7 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Hit:8 http://security.ubuntu.com/ubuntu focal-security InRelease
Fetched 32.5 kB in 2s (19.3 kB/s)
Reading package lists... Done
# - --------------------------------------------------------

apt-get install jenkins

젠킨스를 웹에 연결하기 위한 포트 번호는 /etc/default/jenkins 파일의 HTTP_PORT에 정의되어 있습니다. 포트 번호를 변경해야 하는 경우 8080에서 원하는 값으로 변경하면 됩니다.

1
2
3
4
5
6
7
vi /etc/default/jenkins
# + --------------------------------------------------------
# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8080
# - --------------------------------------------------------

시놀로지 NAS 컨테이너 포트 구성 및 젠킨스 실행

그런 다음 시놀로지 NAS GUI에서 우분투 컨테이너를 중지하고 외부 연결용 포트를 젠킨스로 설정합니다. 컨테이너의 8080 포트를 48080 포트에 매핑했습니다.

시놀로지 NAS GUI - Docker - 젠킨스 포트 설정 시놀로지 NAS GUI - Docker - 젠킨스 포트 설정

우분투 컨테이너를 시작하고 젠킨스 서비스를 실행합니다. 즉, 우분투 Docker를 중지했다가 다시 시작하면 젠킨스 서비스를 다시 실행해야 합니다.

1
2
sleep 10
service jenkins restart

그런 다음 웹 브라우저를 사용하여 젠킨스에 연결합니다. 저의 경우 시놀로지 NAS에 할당된 IP 주소는 192.168.0.50이고 포트는 위에서 설정한 48080이었습니다.

  • http://192.168.0.50:48080/

젠킨스 - 시작하기 젠킨스 - 시작하기

/var/lib/jenkins/secrets/initialAdminPassword 파일에 적힌 초기 비밀번호로 로그인하고 젠킨스 초기 설치를 진행합니다.

1
2
3
4
cat /var/lib/jenkins/secrets/initialAdminPassword
# + --------------------------------------------------------
72b349dadd5d4a83bac10060e536189e
# - --------------------------------------------------------

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.