관리 메뉴

거니의 velog

(24) CICD 본문

대덕인재개발원_final project

(24) CICD

Unlimited00 2024. 2. 19. 10:19

* Continuouse Integration

* Continuouse Deploy

- 지속적 통합, 지속적 배포


* 회사에 가면 개발자들이 있고 SVN이나 GIT이 있을 것이다. 소스를 저장하는 저장소.

* 개별 톰캣이 별도로 있고, 커밋해서 올린 코드가 있다.

* 문제는 우리 컴퓨터는 실제 서비스 컴퓨터가 아니고 운영 서버가 따로 있다.

* 바로 운영 서버로 올리지 않고 개발 서버에서 테스트를 진행한다.

* 운영 서버에 톰캣이 깔려 있고 여기에 실제로 사용자들이 접속을 하는데, 통합 소스를 컴파일 하여 WAR 파일로 만들어 운영 서버로 넣는 것을 배포(Deploy)라 부른다.


* 말은 간단하지만 운영서버는 보안상의 문제로 막혀 있고, 업데이트에 문제가 발생할 수도 있기에 이를 자동화 해야 한다. 

* 이 모든 과정을 지속적 통합-배포라 부른다.

* 자바에서 제일 유명한 툴이 젠킨스.

* 똑똑한 개발자들은 이를 중요하게 생각함. 왜냐하면 이를 모르면 자기가 뒤집어 쓸 수 있기 때문에 업데이트 이력이 다 남아야 한다.


* 일반 개발자들도 이 뒤에서 이루어지는 것을 알고 볼 수 있어야 한다.

* CICD 툴로 가장 유명한 것이 자바 쪽의 젠킨스


https://namu.wiki/w/Jenkins

 

Jenkins

공식 사이트 Jenkins는 Java 로 제작된 오픈 소스 CI (Continuous Integration)

namu.wiki


* 이 아조시는 음식을 만들지 않고 그저 고객 자리에 음식을 배달해 주는 서버.

* 젠킨스의 역할을 잘 압축한 그림

* 음식이 소스, 이를 배달해 주는 것이 젠킨스 아저씨, 이 재료를 모아서 운영서버나 개발서버로 자동 배포.


https://www.jenkins.io/download/

 

Jenkins download and deployment

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io



* 상황을 쉽게 하기 위해서 SVN 서버를 먼저 설치하자.

* 45일 프리 버전으로 일단 설치




https://e-7-e.tistory.com/47

 

오라클 http 포트 변경

오라클이 8080으로 되어 있어서 Tomcat 실행시 포트 충돌이 발생하는데, Tomcat을 고쳐도 되지만 뭔가 일관성이 떨어짐.. -- sys나 system으로 로그인 -- 현재 포트번호 확인 select dbms_xdb.gethttpport() from dual

e-7-e.tistory.com


* 톰캣이 이제 잘 돌아가는 모습을 볼 수 있다.


http://localhost:8080/


---- 톰캣 매니저 등록

conf/tomcat-users.xml에 아래 내용 참고로 등록


<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="myusername" password="mypassword" roles="admin-gui,admin-script,manager-gui,manager-status"/>


---- 톰캣 매니저 원격접속 허용
/webapps/host-manager/META-INF/context.xml을 아래 처럼 수정
기본적으로 127.0.0.1 localhost만 접속 가능하도록 되어 있음!

<Context antiResourceLocking="false" privileged="true" >
    <!--
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    -->
</Context>

가운데 부분을

http://localhost:8080/manager/html


배포 Deploy


http://localhost:8080/jenkins/login?from=%2Fjenkins%2F


 

* 안되면 다운그레이드 시도



http://localhost:8080/jenkins/login?from=%2Fjenkins%2F


https://get.jenkins.io/war-stable/2.426.1/

 

Index of /war-stable/2.426.1

 

get.jenkins.io


 

'대덕인재개발원_final project' 카테고리의 다른 글

(23) 리눅스  (0) 2024.02.13
(22) 토요일 수업 5  (0) 2024.02.03
(21) 웹 소켓 세팅  (1) 2024.02.01
(20) 토요일 수업 4  (0) 2024.01.13
(19) 보강 12  (0) 2024.01.08