0727-Jenkins, Tomcat

hyejin·2022년 7월 27일
0

Continuous Integration(지속적 통합(CI)) : 일련의 과정을 자동화

JENKINS

AWS

인스턴스 생성

  • 이름 : jenkins-server
  • 키 페어 : docker-key
  • VPC : MY-VPC
  • 보안그룹 : dev-sg
    • 인바운드 규칙 : SSH, HTTP, 8080-9000, ICMP

레코드 생성

  • jenkins.hyejin36.shop 으로 생성

jenkins 설치(https://www.jenkins.io/download/)

=============================mobaxterm=============================

  • root 계정으로 변환
$ 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 # 패스워드 수정
# yum install -y git

======================================================================

http://jenkins.hyejin36.shop:8080/ 접속

-> mobaxterm에서 가져온 비밀번호 입력

-> start using jenkins 클릭

  • 비밀번호 수정
    admin > 설정 > Password 수정, 시간 수정

아이템 생성

  • item name : HelloWorldJob

  • Freestyle project 클릭

  • 설명 : HelloWorldJob

  • Build : execute shell 선택

echo "Hello World"
uptime
Build Now > #1 > Console Output 에서 확인 가능

플러그인 설치(github와 연동)

Jenkins 관리 > 플러그인 관리 > 설치가능 > github 검색

Install Git on Jenkins Instance

=============================mobaxterm=============================

# hostnamectl set-hostname jenkins-server
# yum install -y git

======================================================================

Git 설정

Jenkins 관리 > Global Tool Configuration > Git

아이템 생성

Build Now > #1 > Console Output 에서 확인 가능

Maven 설치 (https://maven.apache.org/install.html)

=============================mobaxterm=============================

# 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
# 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
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# source .bash_profile
# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.amzn2.0.3.x86_64:/opt/maven:/opt/maven/bin
# mvn -v # 버전 나오면 성공

======================================================================

플러그인 설치(jenkins와 maven 연동)

Jenkins 관리 > 플러그인 관리 > 설치가능 > 검색

Maven 설정

Jenkins 관리 > Global Tool Configuration > JDK > ADD JDK

  • Install automatically 해체
  • Name : java-11
  • JAVA_HOME : /usr/lib/jvm/java-11-openjdk-11.0.13.0.8-1.amzn2.0.3.x86_64

Maven > ADD MAVEN

  • Name : maven-3.8.6
  • MAVEN_HOME : /opt/maven

새 아이템

  • Maven project 새로 생김
  • name : FirstMavenProject
  • Maven project 선택
  • 설명 : Pull Code From GitHub
  • 소스 코드 관리 : Git
  • Build
    • Goals and options : clean install -> 과거 파일 정리하고 다시 작업
Build Now > #1 > Console Output 에서 확인 가능

작업공간 확인

AWS

인스턴스 생성

  • 이름 : tomcat-server
  • 키 페어 : docker-key
  • VPC : MY-VPC
  • 보안그룹 : dev-sg
  • 사용자 데이터
#!/bin/bash
timedatectl set-timezone Asia/Seoul

레코드 생성

  • tomcat.hyejin36.shop 으로 생성

Tomcat 서버 설치 (https://tomcat.apache.org/download-90.cgi)

=============================mobaxterm=============================

# hostnamectl set-hostname tomcat-server
# 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 기동
Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
# 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"/>
<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

======================================================================

tomcat.hyejin36.shop:8080으로 접속

플러그인 설치(jenkins와 tomcat 연동)

Jenkins 관리 > 플러그인 관리 > 설치가능 > deploy to container 검색

자격증명

Jenkins 관리 > Manage Credentials > Jenkins > Global credentials > Add Credentials

  • Username : deployer
  • Password : kosa0401
  • ID : tomcat_deployer
  • Description : tomcat_deployer

새 아이템

  • Maven project 새로 생김
  • name : BuildAndDeployJob
  • Maven project 선택
  • 설명 : Build code with help of maven and deploy it on tomcat server
  • 소스 코드 관리 : Git
  • Build
    • Goals and options : clean install -> 과거 파일 정리하고 다시 작업
  • 빌드 후 조치 추가 : Deploy war/ear to a container

0개의 댓글

관련 채용 정보