0729-CI/CD, Jenkins, Tomcat

hyejin·2022년 7월 29일
0

GitLab

프로젝트 생성

  • name : dev-site
  • Visibility Level : Public
branch 생성
  • master 생성
repository lock 해제
  • settings > Protected branches > unprotected

원격 저장소 마이그레이션(Github에서 Gitlab으로 마이그레이션)

  • Git bash에서 실행
mkdir git-migration
git clone --mirror https://github.com/seo369/hello-world.git git-migration
cd git-migration/
git push -uf http://gitlab.hyejin36.shop/seoes/dev-site --all

AWS

인스턴스 생성(Jenkins 서버)

  • 이름 : jenkins-server
  • 키 : docker-key
  • VPC : MY-VPC
  • 서브넷 : MY-PUBLIC-SUBNET-2A
  • 보안그룹 : dev-sg
  • 사용자데이터
#!//bin/bash
timedatectl set-timezone Asia/Seoul

route53 레코드 추가

  • jenkins.hyejin36.shop 추가

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

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

$ 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 # 패스워드 수정

도메인 접속

-> password 입력
-> password 변경(admin > password)

아이템 생성

  • name : HelloWorldJob
  • Freestyle project 선택
  • build : Execute shell
echo "Hello world" 
uptime
ip a

플러그인 설치

  • Gitlab 설치

Global Tool Configuration

  • Git
    • name : Git
    • Path : git

아이템 생성

  • name : PullCodeFromGitHub
  • Freestyle project 선택

Maven 설치 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
# 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

플러그인 설치

  • maven 설치

Global Tool Configuration

  • JDK

    • name : java-11
    • JAVA_HOME
  • Maven

    • name : java-11
    • JAVA_HOME

아이템 생성

AWS

인스턴스 생성(Jenkins 서버)

  • 이름 : jenkins-server
  • 키 : docker-key
  • VPC : MY-VPC
  • 서브넷 : MY-PUBLIC-SUBNET-2C
  • 보안그룹 : dev-sg
  • 사용자데이터
#!//bin/bash
timedatectl set-timezone Asia/Seoul

route53 레코드 추가

  • tomcat.hyejin36.shop 추가

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

# 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
# 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 /opt/tomcat/conf/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

플러그인 설치

  • deploy to container 설치

Manage Creditial

  • name : deployer

아이템 생성

  • manager/에서 확인

소스코드 고쳐보기

  • Git bash
git clone -b master http://gitlab.hyejin36.shop/seoes/dev-site.git
vi index.jsp
Hero로 변경
git add index.jsp
git commit -m "Hero"
git push -uf origin master

빌드 유발

  • 프로젝트 > 구성 > Poll SCM > Schedule 에 * * * * * 추가

  • 확인

클러스터

VM

가상 시스템 가져오기

  • CentOS7.ova
  • CPU 2 / RAM 4096
  • 네트워크 :
    • 어댑터 1 : NAT 네트워크
    • 어댑터 2 : 호스트 전용 어댑터

0개의 댓글

관련 채용 정보