# PollSCM을 활용한 자동빌드
- 아래와 같이 구성을 변경한다.
# 비주얼 스튜디오에서 소스코드 수정 후 자동빌드 되는지 확인하기
- 코드 추가하기
<h2>Poll SCM 테스트코드 입니다.</h2>
- vs code 실행
cmd 화면에서 code . 를 실행시키면 vs 코드가 현재 cmd 폴더의 정보를 불러와 실행한다.
- git 반영하기
변경한 폴더로 이동하기, C:\apache-tomcat-9.0.74\webapps\hello-world\WEB-INF\views
git add, commit, push를 하여 변경한 코드를 반영한다.
반영이 정상적으로 되면 poll scm에서 변경된 내역을 읽고 자동으로 반영을 수행한다.
https://may9noy.tistory.com/135
# ssh를 이용한 다른 서버로 이미지를 복사
1. ssh 플러그인 설치
젠킨스 설치가능한 라이브러리에서 Publish Over SSH 를 설치
jenkins 관리 → 시스템 설정으로 이동하면 아래와 같이 Publish Over SSH를 설정할 수 있는 항목이 활성화 되어 있다.
2. vm 서버를 생성 후 위에서 설정한 ssh를 이용하여 이미지를 전달
- vm 서버를 docker를 활용하여 생성
이건 시간이 없으니 나중에 생성하도록하고, 이미 생성되어 있는 이미지를 가져와 실행하자.
- 이미지를 가져와 ssh까지 접속하기
sudo docker run --privileged --name docker-server -itd -p 10022:22 -p 8081:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup [id]/docker:latest /usr/sbin/init
- 접속하기
ssh root@localhost -p 10022
- 접속 완료, docker 이미지로 생성된 또다른 가상서버라고 생각하면 쉽다.
[root@81d4949291b4 ~]# pwd
/root
[root@81d4949291b4 ~]#
- jenkins설정으로 이동하여 ssh 서버 정보를 입력 후 추가한다.
여기에서 Hostname IP 정보는 자신의 PC의 local ip address 이다.
- 추가 설정은 아래와 같다.
- 위와 같이 설정 후 jenkins에서 test connection을 수행하면 아래와 같이 정상적으로 접속이 되었다고 나온다.
3. 실제 war 파일을 ssh를 활용하여 다른 서버로 전달하기
- third-project에서 아래의 ssh 옵션만 추가하면 된다.
- 실제로 빌드 후 war 파일이 해당 vm 서버로 이동 되었는지 확인한다.
이동된 war 파일을 확인할 수 있다.
[root@81d4949291b4 ~]# ls -l
total 7856
-rw-r--r-- 1 root root 129 Sep 20 2022 Dockerfile
-rw------- 1 root root 2361 Sep 15 2021 anaconda-ks.cfg
-rw-r--r-- 1 root root 608 Sep 15 2021 anaconda-post.log
-rw-r--r-- 1 root root 8025961 May 8 07:42 hello-world.war
-rw------- 1 root root 2059 Sep 15 2021 original-ks.cfg
[root@81d4949291b4 ~]#
- war 파일이 존재하는 vm 컨테이너에서 docker 빌드 수행하기
일단 Dockerfile의 내용을 보면 아래와 같다.
FROM tomcat:9.0
COPY ./hello-world.war /usr/local/tomcat/webapps
- 위의 내용을 보면 매우 간단한데, tomcat9.0이미지를 기본으로 hello-word.war 파일을 /usr/local/tomcat/webapps로 COPY 한다는 내용으로 이해하면 된다.
- 빌드 명령어는 아래와 같다.
docker build --tag docker-server -f Dockerfile .
- 빌드가 완료된 후 image를 조회하면 아래와 같다.
[root@81d4949291b4 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-server latest 97999039c5bd 4 minutes ago 484MB
tomcat 9.0 3f55087df9b4 3 days ago 476MB
- 빌드된 이미지를 실행해보자.
실행 명령어는 아래와 같다.
docker run --privileged -p 8080:8080 --name mytomcat docker-server:latest
- 그리고 local 환경에서 실행한 8081 포트로 접속을 하면 아래와 같은 결과물을 얻을 수 있다.
localhost:8081
localhost:8081/hello-world
4. Exec 커맨드를 활용한 빌드 수행
- 프로젝트 설정에서 빌드 후 조치를 보면 아래와 같이 Exec command를 입력할 수 있다.
Exec command의 내용을 보면 아래와 같다.
빌드 후 실행해야 하는 코드가 있다면 Exec 커맨드를 통해 적용 할 수 있다.
docker build --tag=cicd-project -f Dockerfile .;
docker run -p 8080:8080 --name mytomcat cicd-project:latest
- 끝 -
'로컬 환경 구성 > 로컬 개발환경 구성' 카테고리의 다른 글
6. Ansible Module (0) | 2023.05.09 |
---|---|
5. Ansible 구성 (0) | 2023.05.09 |
4. 현재까지의 구성 살펴보기 (0) | 2023.05.09 |
2. Git, 메이븐 설정, 새 프로젝트 생성 톰캣 연동하기 (0) | 2023.05.08 |
1. CI/CD - Jenkins 설치 후 새 프로젝트 생성 및 테스트 with WSL (0) | 2023.05.08 |