[AWS] 08. Jenkins 초기 환경설정

나도 가보자·2024년 7월 21일
post-thumbnail

💡 Secure SHell란?

시큐어 셸(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다.


💻 Jenkins 관리자 계정 생성

1) Jenkins 접속

  • 아래 명령문을 통해 기본 설정된 암호를 조회하고 입력한다.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword


2) Jenkins Plugin 설치

  • Install suggested plugins를 선택한다.


3) Jenkins 관리자 계정 등록


4) Jenkins 접속 URL 확인


🔊 Jenkins & Github 연동

5) Jenkins Docker 컨테이너 SSH 키 생성

  • 젠킨스 컨테이너에서 Git Hub SSH 통신을 위한 키를 생성한다.
$ docker exec -it [jenkins 컨테이너 이름] ssh-keygen
Created directory '/var/jenkins_home/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /var/jenkins_home/.ssh/id_rsa.
Your public key has been saved in /var/jenkins_home/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:dIkt4uHs3Dw_IyqNyoV_Mx4XG7TSH4mHd3uZtAugfZQi1Yy2dOSNOkBEmw jenkins@2fbd2587df12
The key's randomart image is:
+---[RSA 2048]----+
|*+B.OO=S.E*+...  |
|..B++. =o *BOS*  |
|.+O.Eo EE=+O.+E  |
|B*=**+=.E=*OO.*  |
|  OSB*B +B...O=  |
|.+O*+ =OoOO+.E+  |
|.==o  oo OB=B *  |
|+*SoOo+B SooB.S  |
|.ESEo.BS=o... =  |
|=O*.+o*B E=+ SS  |
+----[SHA256]-----+
  • 젠킨스 컨테이너에 생성된 Public SSH 키 검색한다.
$ docker exec -it {jenkins 컨테이너 이름} cat /var/jenkins_home/.ssh/id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQABgH5ikMyFwGZ8mD7ywDRq6Y1N6kAjSa6JuvFQGtWTSHkAPnAPOUXaHksDAxD4kHrOQl69rIF9CxU6HNjP0sDd7Usz8wHcFDjHgBQWECnHVF5o6UZ0qYlA+4y2aGVcL+kOWClYZ4wMrk2+PCSwODhAQtQPsIwrxGygMw9s8DwXtYQtSOOX9MQQQWYsRRt+1B3UsVt+w9HEmjxgZL4z+7gMEFz7RqGV3EfwHoDyoTfYTZ0E7VLBg== jenkins@9f8e67c5
  • 젠킨스 컨테이너에 생성된 Private SSH 키 검색
$ docker exec -it {jenkins 컨테이너 이름} cat /var/jenkins_home/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
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
VwqOAqtir4eaCAHkHn7zQg== jenkins@2fbd2587df12
-----END RSA PRIVATE KEY-----

6) Jenkins & GitHub 연결

  • 관련 프로젝트 저장소로 이동 후 Settings 버튼을 클릭한다.

  • Jenkins 컨테이너의 Public 키를 등록하기 위해 Deploy keys 탭을 통해 Add deploy key 버튼을 클릭한다.

  • 생성된 Public 키를 입력하고 Add key 버튼을 클릭한다.

  • 마지막으로, Jenkins 관리 페이지로 이동하여 credentials을 설정한다.

  • 전체 도메인 적용을 위해 global 링크를 클릭한다.

  • Add Credentials 버튼을 클릭한다.

  • 다음과 같이 필요한 설정 정보를 입력한다.
    • Kind: SSH Username with private key 선택한다.
    • Private Key: Jenkins Docker 컨테이너에서 생성된 Private SSH Key 입력한다.
    • Passphrase: SSH 생성 시 비밀번호를 개설한 경우 입력한다.

profile
Developer CodeJesterND

0개의 댓글