레드햇
aws delivery 에는 수동부분이 있음.
이름: jenkins-server
이미지 : 아마존 리눅스2
유형 : t2.micro
키페어 : 생성해둔 키페어
네트워크 : MY-VPC
서브넷 : 퍼블릭 2C
보안그룹 새로생성
이름: DEV-SG
SSH, HTTP, 사용자 지정TCP;포트번호 8080-9000, 모든 ICMP - IPv4
-> 위치무관으로 열기
=> 인스턴스 시작
생성한 인스턴스의 퍼블릭 IP를 값으로 레코드 생성.
✔️ root 사용자로 변경
[ec2-user@ip-10-14-40-70 ~]$ sudo su -
✔️ 젠킨스 설치
# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
# yum install -y fontconfig java-11-openjdk
# amazon-linux-extras install -y java-openjdk11
# yum install -y jenkins
# systemctl enable --now jenkins
# cat /var/lib/jenkins/secrets/initialAdminPassword # 패스워드 수정
✔️앞서 생성한 도메인 , 포트번호 8080으로 접속.
위에 cat명령어 통해서 받은 패스워드 입력하고, continue
✔️오른쪽 상단 adimin- 설정 - 패스워드 변경, time zone 맞춰주기.
-> 에러(403) 뜰 경우 ID : admin , 비밀번호 입력해서 재 로그인
✔️ 대시보드 - 새로운 item - 이름 : HelloWorldJob - ok (Freestyle)
✔️ build; play. 실행
✔️ 콘솔출력
✔️ 젠킨스 관리 - 플러그인 관리
✔️설치가능 - github 검색 후 체크, install without restart - 설치 후 메인페이지로 돌아가기.
젠킨스 관리 - Global Tool Configuration
✔️git 설치, 추가 셋팅
# yum install -y git
# hostnamectl set-hostname jenkins-server
# exit
$ sudo su -
->오류 없어짐 , name Git으로 변경 , 하단에 apply, save
✔️ 새로운 ITEM - 이름 : PullCodeFromGitHub - Freestyle project - OK
✔️ 설명 : Pull Code From GitHub - 소스코드 관리 : Git; Repository URL : https://github.com/hali-linux/hello-world.git - apply, 저장
✔️ 콘솔보기 - 콘솔출력
[root@jenkins-server ~]# cd /var/lib/jenkins/workspace/
[root@jenkins-server workspace]# ll
total 0
drwxr-xr-x 2 jenkins jenkins 6 Jul 27 01:40 HelloWorldJob
drwxr-xr-x 5 jenkins jenkins 163 Jul 27 02:17 PullCodeFromGitHub
https://maven.apache.org/install.html
최신버전 링크 확인
# cd /opt
# wget https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
# tar -xvzf apache-maven-3.8.6-bin.tar.gz
# mv apache-maven-3.8.6 maven
# cd maven
# cd bin
# ls -> mvn이 메이븐 파일
# cd ~
# find / -name java-11*
# vi .bash_profile
M2_HOME=/opt/maven
M2=/opt/maven/bin
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.amzn2.0.3.x86_64
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:$JAVA_HOME:$M2_HOME:$M2
# echo $PATH
# source .bash_profile
# echo $PATH
# mvn -v
✔️웹 jenkins - Jenkins 관리 - 플러그인 관리 - 설치가능 ; maven검색 ; maven Integration체크 - install without restart - 메인페이지로 돌아가기
✔️Jenkins 관리 - Global Tool Configuration - Add JDK
✔️ 하단으로 내려서 ,Add Maven - 이름 : maven-3.8.6 - MAVEN_HOME : /opt/maven
✔️대시보드 - 새로운 item - 이름 : FirstMavenProject - Maven project
✔️설명 : First Maven Project - 소스코드 관리 : Git ; URL : https://github.com/hali-linux/hello-world.git - Build ; Goals and options : clean install - apply , save
✔️ FisrtMavenProject-지금빌드 클릭 - #1 - console output
✔️ 빌드 완료 후 CLI에서 확인
# timedatectl set-timezone Asia/Seoul
[root@jenkins-server ~]# cd /var/lib/jenkins/workspace/FirstMavenProject/
[root@jenkins-server FirstMavenProject]# ll
total 28
-rw-r--r-- 1 jenkins jenkins 130 Jul 27 03:07 Dockerfile
-rw-r--r-- 1 jenkins jenkins 5970 Jul 27 03:07 pom.xml
-rw-r--r-- 1 jenkins jenkins 1 Jul 27 03:07 README.md
-rw-r--r-- 1 jenkins jenkins 479 Jul 27 03:07 regapp-deploy.yml
-rw-r--r-- 1 jenkins jenkins 195 Jul 27 03:07 regapp-service.yml
drwxr-xr-x 4 jenkins jenkins 46 Jul 27 03:08 server
-rw-r--r-- 1 jenkins jenkins 6 Jul 27 03:07 test.tml
drwxr-xr-x 4 jenkins jenkins 46 Jul 27 03:08 webapp
[root@jenkins-server FirstMavenProject]# cd webapp/
[root@jenkins-server webapp]# ls
pom.xml src target
[root@jenkins-server webapp]# cd target
[root@jenkins-server target]# ll
total 556
drwxr-xr-x 2 jenkins jenkins 28 Jul 27 12:08 maven-archiver
drwxr-xr-x 2 jenkins jenkins 6 Jul 27 12:08 surefire
drwxr-xr-x 5 jenkins jenkins 105 Jul 27 12:08 webapp
-rw-r--r-- 1 jenkins jenkins 568794 Jul 27 12:08 webapp.war
✔️ GUI - 프로젝트 - 작업공간 - webapp
✔️ target - war 파일 확인
✔️ AWS 인스턴스 시작 - 이름 : tomcat-server
이미지 : 아마존 리눅스2
유형 : t2.micro
키페어 : 생성해둔 키페어
네트워크 : MY-VPC
서브넷 : 퍼블릭 2A
보안그룹: DEV-SG
고급세부정보 사용자 데이터 :
#!/bin/bash
timedatectl set-timezone Asia/Seoul
=> 인스턴스 시작
✔️ 도메인 레코드 생성
✔️ 도메인 이용하여 CLI로 진입(mobaxterm), date 확인
✔️ root 계정 진입 및 호스트 네임 바꿔주기.
[ec2-user@ip-10-14-4-246 ~]$ sudo su -
[root@ip-10-14-4-246 ~]# hostnamectl set-hostname tomcat-server
[root@ip-10-14-4-246 ~]# exit
logout
[ec2-user@ip-10-14-4-246 ~]$ sudo su -
Last login: Wed Jul 27 12:24:38 KST 2022 on pts/0
[root@tomcat-server ~]#
✔️ tomcat 설치
https://tomcat.apache.org/download-90.cgi
# amazon-linux-extras install -y java-openjdk11
# cd /opt
# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
# tar -xvzf apache-tomcat-9.0.65.tar.gz
# mv apache-tomcat-9.0.65 tomcat
# cd tomcat/bin/
# ./startup.sh # tomcat 기동
✔️ 주소 : 8080으로 웹브라우저로 진입
->403 해결해야함
# cd /opt/tomcat
# find / -name context.xml #경로확인
# vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
# vi /opt/tomcat/webapps/manager/META-INF/context.xml
<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
설정완료 후 로그인 창이 뜨는 모습. -> 로그인 정보 설정 필요
# cd tomcat/bin/
# ./shutdown.sh
# ./startup.sh
# /opt/tomcat/conf
# vi tomcat-users.xml ## 하단에 아래 명령어 붙여넣기
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="kosa0401" roles="manager-gui, manager-script, manager-jmx, manager-status"/>
<user username="deployer" password="kosa0401" roles="manager-script"/> ## jenkins
<user username="tomcat" password="kosa0401" roles="manager-gui"/>
# ln -s /opt/tomcat/bin/startup.sh /usr/local/bin/tomcatup ##톰켓 실행 심볼릭 링크 설정
# ln -s /opt/tomcat/bin/shutdown.sh /usr/local/bin/tomcatdown ##톰켓 종료 심볼릭 링크 설졍
# tomcatdown ##톰켓 끄기
# tomcatup ## 톰켓 켜기
✔️ jenkins GUI, jenkins관리 - 플러그인 관리 - 설치가능 - deploy to container 검색 - 체크하고, install without restart - 설치 다 되면 메인페이지로 돌아가기
✔️ jenkins관리 - manage Credentials - jenkins클릭 - global credential클릭 - ADD credential - 위에서 설정한 username, password기입 (manager-script) - ID , Description 자유롭게 기입(바깥에서 보여지는 식별자) - create
✔️ 메인 대시보드 - 새로운 ITEM - 이름 : BuildAndDeployjob - maven project - 생성 - 설명 : Build code with help of maven and deploy it on tomcat server
✔️소스코드 관리 : Git ; URL : https://github.com/hali-linux/hello-world.git
✔️ Build; Goald and options : clean install
✔️ 빌드 후 조치 ; 빌드 후 조치 추가 : Deploy war/ear to a container ; WAR/EAR files: **/*.war
- Add continer : Tomcat 9.x remote - credentials; tomcat_deployer - tomcat URL :
http://tomcat.lovemj.shop:8080/ - apply ,저장
📙✔️✏️📢⭐️📌
메가존에서 요청한 교육과정