- java와 jenkins 설치를 해봅시다.
EC2에 접속하여 Java8 버전을 설치해보도록 하겠습니다.
참고로 Amazon Linux로 진행하신 분들은 기본으로 7 버전이 설치되어있기 때문에 8 버전 설치 후 설정을 변경해주시는 작업을 진행하셔야 합니다.
Ubuntu 18로 생성하신 분들은 아래 내용을 그대로 따라 하시면 됩니다.
- 일단 ec2에 ssh로 붙으신다음에 > 설치를 진행해 봅시다.
- sudo apt update 명령어를 사용하여 최신버전으로 업데이트 합니다.
$ sudo apt update
- java 8 버전을 설치 합니다.
$ sudo apt install openjdk-8-jdk
- 자바 설치가 끝나셨으면 java의 버전을 확인해 보도록 하겠습니다.
$ java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
- java home의 경로를 확인해 보겠습니다.
$ update-alternatives --get-selections | grep ^java
java auto /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
javac auto /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
javadoc auto /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc
javah auto /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
javap auto /usr/lib/jvm/java-8-openjdk-amd64/bin/javap
- 2.3.5 JAVA_HOME 설정
이전 단계에서 확인 한 Java 홈 디렉토리를 JAVA_HOME으로 설정하도록 하겠습니다.
vi로 /etc/environment를 열어서 JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"를 추가해주도록 하겠습니다.
$ sudo vi /etc/environment
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" 추가
- 파일을 다시 로드합니다.
$ source /etc/environment
- JAVA home이 정상적으로 설정 되었는지 확인합니다.
$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64
- AWS CLI 설치
$ sudo apt install awscli
- 버전 확인
$ aws --version
- Jenkins 설치
이제 Jenkins를 설치해보도록 하겠습니다.
Ubuntu Package에서는 Jenkins를 기본으로 지원하지 않기 때문에 Jenkins 저장소를 추가해주어야 합니다.
Ubuntu 18에서 Jenkins 설치
시스템 저장소에 Jenkins 저장소 키 추가
$ wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
만약 위 명령어 입력 후 서명(signed) 관련하여 오류메시지가 발생된다면 아래 명령어로 다시 시도해줍니다.
$ wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sources.list에 데비안 패키지 저장소 추가
$ sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
패키지 관리 툴 (apt) update
$ sudo apt update
Jenkins 설치
$ sudo apt install jenkins
Jenkins 상태 확인
$ systemctl status jenkins
설치가 완료되면 자동으로 시작하게 되어있지만 혹시 시작되지 않았으면 아래 명령어로 실행시켜 줍니다.
$ sudo systemctl start jenkins
- Nginx 설치
Jenkins의 기본 포트는 8080입니다.
8080의 경우 다른 소프트웨어에서 많이 사용하는 포트이기도 하고 , URL로 접근 시 포트 입력 없이 바로 접근 가능하도록 하기 위해 웹서버를 앞에 두고 Jenkins로 프록시 되도록 하겠습니다.
Nginx 설치
$ sudo apt install nginx
Nginx 상태 확인
$ systemctl status nginx
3.2.3 Reserve Proxy 설정
Nginx 포트(80)로 접근 시 Jenkins 포트(8080)로 프록시 되도록 설정하도록 하겠습니다.
프록시를 설정하는 파일을 엽니다.
$ sudo vi /etc/nginx/sites-available/default
location의 내용을 변경해 줍니다.
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
- Nginx 재시작
$ sudo systemctl restart nginx
- Jenkins 초기 설정
Jenkins에 접속해보도록 하겠습니다.
초기 어드민 비밀번호를 입력하라고 나오는데 Jenkins 서버에서 아래 명령어로 조회 가능합니다.
$ sudo cat /var/lib/jenkins/secrets/initialAdminPassword
시스템에서 알려주는 비밀번호를 복사한 후 입력합니다.
- AWS의 퍼블릭IP주소:80을 입력하여 Jenkins 사이트로 접근합니다.
- 위에 작업에서 복사한 비밀번호를 붙여넣어 로그인 합니다.
- 비밀번호 입력 후 아래와같이 선택하는 화면이 나옵니다.
- 기본 플러그인 설치로 진행하도록 하겠습니다. Install suggested Plugins를 선택합니다.
- 플러그인 설치중 모습입니다.
- 모든 플러그인 설치가 되면, 아래와같이 Admin 설정하는 화면이 나옵니다.
- 여기서 계정 등 입력하고 관리자 계정을 생성을 해줍니다.
- 모든 설정이 끝났습니다. 하단에 Save and Finish 버튼을 클릭하여 jenkins 설정을 마무리 합니다.
- 모든 설정이 완료되면 Jenkins 대쉬보드로 이동합니다.
- 대쉬보드에서는 다양한 정보와 관리를 수행 할 수 있습니다.
- 다음은 파이프라인에 대해서 알아 보도록 하겠습니다.
'⭐ CICD > Elastic Beanstalk & Jenkins' 카테고리의 다른 글
간단한 CI/CD 구현 구성도 (0) | 2021.08.09 |
---|---|
gradlew 사용 시 permission denied 오류가 나는경우 해결방법 (2) | 2021.08.07 |
Elastic Beanstalk와 Jenkins로 CI/CD 구현(4) (0) | 2021.08.03 |
Elastic Beanstalk와 Jenkins로 CI/CD 구현(2) (0) | 2021.08.03 |
Elastic Beanstalk와 Jenkins로 CI/CD 구현(1) (0) | 2021.08.03 |