본문 바로가기

학교 & 학원 이론 수업/네이버 클라우드 AIaaS 개발자 양성 과정

230512 Docker (on cloud) & Jenkins

 

 

네이버클라우드 서버접속  ( cmd에서 ssh root@공인ip 

 

도커설치 (

https://docs.docker.com/engine/install/ubuntu/)

 

docker ps -a         모든 컨테이너 확인 

docker ps            실행중인 모든 컨테이너 확인 

docker images

docker image rm 9c             9c로 시작하는 이미지 삭제 

docker images

 

젠킨스 설치 (https://github.com/jenkinsci/docker/blob/master/README.md)

       --name jenkins-server를 포함시켜줘서 서버 명을 지어주자 (docker run -p 8080:8080 -p 50000:50000 --name jenkins-server   --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11)

 

다른 cmd 창 열고 

 

docker ps

docker volume ls 

docker container start jenkins-server                 (jenkins stop일 경우) 

 

브라우저 열고 젠킨스 접속  공인ip:8080

 

비번 확인하려면 docker logs jenkins-server에서 확인 

 

화면에서 클릭 (install suggested plugins 버튼)

 

admin 유저 그냥 다 admin으로 주기 (메일도 admin@admin.com)

 

cmd에서 docker inspect jenkins-server 치면은 java home 위치 확인 가능 , jenkins > 관리 > Global Tool Configuration 에 넣어주자 (JDK > JAVA_HOME)apply 하고 save 해준 뒤에,   build steps 에 리눅스 코드 주기  (echo "Hello App 실행!! " ) apply

 

success라면 잘 나온다

 

+ web hook 넣어두면 깃헙 메임 브렌치에 넣어둔거 자동으로 빌드되게 할 수도 있음 
Dashboard>Jenkins관리>Plugin Manager>Available plugins에서   'Deploy to container' 설치 
서버에 tomcat 9버전 설치    docker run -d -it --name tomcat -p 8090:8080 tomcat:9
설치후 확인 docker ps 

톰캣 컨테이너로 접속 docker exec -it tomcat bash 
그다음, webapps.dist에 있는 파일들을 webapps로 옮겨줘야 한다 ->  cp -R ./webapps.dist/* ./webapps

 

META-INF 폴더까지 이동  ->  cd webapps/manager/ ->  cd META-INF
vi 설치 ->  
apt-get update
apt-get install vim

vi context.xml
vi context.xml에 가서 보안에 관련된 Value 부분 주석처리 
        <!-- <Value className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+|0:0:0:0:0:0:0:1" /> -->

 

http://ip주소:8090/manager/html 접속
계정이 없어서 못들어가므로 계정 생성하자 -> tomcat/conf로 이동 후 vi tomcat-users.xml에 가서 다음의 코드 추가 (</tomcat-users> 전에다가)

 

<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="manager-jmx" />
<role rolename="manager-status" />
<user username="admin" password="admin" roles="manager-gui, manager-script, manager-jmx, manager-status"/>
<user username="deployer" password="deployer" roles="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

 

저장 후 admin/admin 으로 톰캣 접속

Jenkins 서버도 다시 접속 후 '구성'에 들어가서 '빌드 후 조치'에 다음 값 입력 

또한 add container - tomcat 9 선택 

 

위 사진처럼 deployer 계정을 넣어준다

저장 후 지금 빌드  ->  success가 나오면 빌드 성공 

 

톰캣에서도 확인 가능

내용 변경시 git push 후 젠킨스에서 [지금 빌드] 하면 배포 가능 

 

---------------------------------------------

 

git에 push 하면 자동 빌드 되도록도 설정할 수 있다. 


Git에서 해당 프로젝트 Settings에 들어간다 
Webhooks에 들어가서 Add webhooks

그 후에, 


이제 깃에 push하면 자동으로 배포된다. 

 

-----------------------------------------------------------

+ (번외편) 네이버 클라우드 AI 제품들 api를 통해 사용하기 
-> 파파고, tts의 경우 콘솔에서 application 등록 버튼을 누른 후 인증 정보를 확보 
-> 사용 가이드의 java 코드를 가져와서 컨트롤러를 만들어 주고 해당 값들을 jsp 에서 사용