sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'로 jenkins repository를 시스템에 추가
sudo apt update로 업데이트
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys PUBKEY - PUBKEY는 업데이트 시 나오는 PUBKEY 값 입력
sudo apt update로 다시 업데이트 - 위 과정을 진행해야 jenkins를 설치 가능
sudo apt install jenkins로 jenkins 설치
jenkins 인스턴스에서 퍼블릭 IPv4 주소를 복사
주소창에 붙여넣기 후 :8080을 뒤에 추가하면 해당 사이트가 나옴
sudo cat /var/lib/jenkins/secrets/initialAdminPassword(위 화면에 나오는 경로임)로 패스워드를 얻음
해당 비밀번호를 Administrator password에 입력하고 Continue를 클릭
Install suggested plugins를 클릭
정보를 입력하여 가입 진행
해당 영역에 jenkins 인스터늣 퍼블릭 IPv4 주소를 입력
restart 후에 화면이 나오지 않으면 새로고침을 진행
kenkins 로그인 화면에서 로그인 진행
Jenkins 관리를 클릭
Plugins를 클릭
Available plugins를 클릭
ssh 검색 후 Publish Over SSH 선택 후 Install without restart를 클릭
설치 후 Jenkins관리에 system을 클릭
jenkins 연결 창으로 돌아와서 ssh-keygen -t rsa -f ~/.ssh/id_rsa를 입력 - jenkins ssh 키를 생성 - 엔터키를 계속 눌러줘야 함
cd ~/.ssh로 해당 경로로 이동 후 ls를 통해 2개의 키를 확인
sudo cat id_rsa, sudo cat id_rsa.pub으로 private키와 public키 값을 확인
해당 private 키 값을 BEGIN부터 END까지 모두 system의 Publish over SSH의 Key에 입력
SSH Servers를 추가 - 이름은 back_server 입력 - Hostname은 해당 server의 프라이빗 IPv4 주소 입력 - Username은 ubuntu 입력 - Remote Directory는 /home/ubuntu 입력
서버가 여러개면 추가하여 똑같이 진행
back_server를 연결하여 sudo vim ~/.ssh/authorized_keys를 실행 - O를 누른 뒤 INSERT로 변경 후 public키를 입력 - ESC 후 :wq로 저장 후 빠져나옴
Test Configuration 후 Success가 나오면 성공적으로 완료
완료 후 저장
새로운 Item클릭
이름을 back_server로 하고 Freestyle project 클릭 후 OK
빌드 후 조치 추가 클릭 후 Send build artifacts over SSH 클릭
back_server의 Exec command 설정(입력한 순서대로 실행) - docker pull myorg/myapp - docker rm -f $(docker ps -qa) - nohup docker run -p 8080:8080 myorg/myapp > nohup.out 2>&1 & - 해당 명령들을 순서대로 입력 - 서버가 2개일 경우 동일하게 입력
지금 빌드 클릭
#1 클릭 후 Console Output을 클릭
SUCCESS가 뜰 경우 서버가 제대로 실행 - 이제 서버를 켜고 끄고를 자동으로 실행 가능 - 서버를 일일이 실행할 필요가 없음