
1. Summary
다른 서버에 war 파일을 복사하고 기동시켜보기 위해 다음과 같은 작업을 했다.
1) 다른 서버 구축
https://tksgk2598.tistory.com/493
SSH 서버에서 사용할 수 있는 도커 컨테이너 만들기
지금까지 빌드 결과물 war 파일을 톰캣 서버에 복사해서 기동시켰다.이제는 톰캣이 아니라 다른 서버에도 war 파일을 복사시키고 기동시켜보겠다.그러기 위해서 필요한 것이 [도커 컨테이너 형태
tksgk2598.tistory.com
centOS라고 하는 리눅스를 가지고 있는 컨테이너를 기동시켰다.
이 안에는 SSH와 도커가 들어가 있는 상태이다.
2) 젠킨스 SSH Server 설정
https://tksgk2598.tistory.com/494
젠킨스 SSH Server 설정
https://tksgk2598.tistory.com/493 SSH 서버에서 사용할 수 있는 도커 컨테이너 만들기지금까지 빌드 결과물 war 파일을 톰캣 서버에 복사해서 기동시켰다.이제는 톰캣이 아니라 다른 서버에도 war 파일을
tksgk2598.tistory.com
1)에서 만들어진 서버를 SSH Server에 설정했다.
1)에서 만들어진 서버는 10022번 포트를 통해 로컬 컴퓨터에서 접근할 수 있게 했다.
젠킨스에서 설정을 통해 우리 로컬 서버에서 10022번 포트로 접근했을 때 어떠한 행위를 할 수 있도록 listening하게 했다.
2. Send build artifacts over SSH
그동안 만들었던 새로운 서버에 war 파일을 복사하고 기동시키도록 하겠다.

특정 컨테이너 > 구성 > 빌드 후 조치 부분으로 이동하면, '빌드 후 조치 추가'가 있다.
해당 메뉴들 중에서 [Send build artifacts over SSH]를 만든다.

다음과 같이 SSH Server를 작성해준다.
어떤 파일을 SSH Server에 보낼 것인지 작성한다. 이 때 SSH Server는 젠킨스 관리 > 서버 부분에서 설정한 것이다.
1) Source files

지금까지 빌드했던 이력을 보면, war 파일은 target 폴더에 있는 것을 확인할 수 있다.
우리는 이 target/*.war 파일을 전달할 것이다.
2) Remove prefix
target 폴더명을 지우고 war파일만 보낼 것이다.
3) Remote Directory
현재 내가 젠킨스에 생성한 프로젝트는 My-Docker-Project이고,
target 파일은 바로 이 프로젝트에 있으므로
현재 폴더에서 작업을 진행한다는 의미로 [.]을 써주는 것이다.
4) Exec command
docker build --tag=cicd-project -f Dockerfile .;
docker run -d -p 8080:8080 --name mytomcat cicd-project:latest
war 파일을 전송 후 복사(빌드)하고, 실행해준다는 의미의 명령어이다.

커맨드로 수동 build를 해보면 다음과 같이 진행된다. (cicd-project가 아닌 docker-server로 빌드)


그 후 run으로 기동시키면 다음과 같이 배포가 완료된다.
3. Dockerfile?

이게 도커파일 내용이다.
이미지 파일을 이렇게 만들겠다는 의미가 담겨있다.
톰캣은 9버전대이고, hello-world.war파일을 도커 컨테이너 /usr/local/tomcat/webapps에 복사하겠다는 의미이다.
4. why 8081로 접속했는데 연결이 되었을까?

나의 로컬 pc docker에서 docker ps로 기동 상태를 살펴보면,
docker-server:m1 컨테이너에서 8081 포트로 요청이 들어오면,
docker-server:m1 컨테이너 내부는 8080으로 연결해주겠다고 이미 설정했기 때문이다.
'INFRA > CICD' 카테고리의 다른 글
Ansible Playbook 명령어 [파일복사 / 프로그램 다운] (0) | 2024.07.04 |
---|---|
Docker 컨테이너로 Ansible 실행 (0) | 2024.06.30 |
젠킨스 SSH Server 설정 (0) | 2024.06.23 |
SSH 서버에서 사용할 수 있는 도커 컨테이너 만들기 (0) | 2024.06.23 |
젠킨스 자동 빌드 환경 구성하기 [Poll SCM] (3) | 2024.06.19 |

1. Summary
다른 서버에 war 파일을 복사하고 기동시켜보기 위해 다음과 같은 작업을 했다.
1) 다른 서버 구축
https://tksgk2598.tistory.com/493
SSH 서버에서 사용할 수 있는 도커 컨테이너 만들기
지금까지 빌드 결과물 war 파일을 톰캣 서버에 복사해서 기동시켰다.이제는 톰캣이 아니라 다른 서버에도 war 파일을 복사시키고 기동시켜보겠다.그러기 위해서 필요한 것이 [도커 컨테이너 형태
tksgk2598.tistory.com
centOS라고 하는 리눅스를 가지고 있는 컨테이너를 기동시켰다.
이 안에는 SSH와 도커가 들어가 있는 상태이다.
2) 젠킨스 SSH Server 설정
https://tksgk2598.tistory.com/494
젠킨스 SSH Server 설정
https://tksgk2598.tistory.com/493 SSH 서버에서 사용할 수 있는 도커 컨테이너 만들기지금까지 빌드 결과물 war 파일을 톰캣 서버에 복사해서 기동시켰다.이제는 톰캣이 아니라 다른 서버에도 war 파일을
tksgk2598.tistory.com
1)에서 만들어진 서버를 SSH Server에 설정했다.
1)에서 만들어진 서버는 10022번 포트를 통해 로컬 컴퓨터에서 접근할 수 있게 했다.
젠킨스에서 설정을 통해 우리 로컬 서버에서 10022번 포트로 접근했을 때 어떠한 행위를 할 수 있도록 listening하게 했다.
2. Send build artifacts over SSH
그동안 만들었던 새로운 서버에 war 파일을 복사하고 기동시키도록 하겠다.

특정 컨테이너 > 구성 > 빌드 후 조치 부분으로 이동하면, '빌드 후 조치 추가'가 있다.
해당 메뉴들 중에서 [Send build artifacts over SSH]를 만든다.

다음과 같이 SSH Server를 작성해준다.
어떤 파일을 SSH Server에 보낼 것인지 작성한다. 이 때 SSH Server는 젠킨스 관리 > 서버 부분에서 설정한 것이다.
1) Source files

지금까지 빌드했던 이력을 보면, war 파일은 target 폴더에 있는 것을 확인할 수 있다.
우리는 이 target/*.war 파일을 전달할 것이다.
2) Remove prefix
target 폴더명을 지우고 war파일만 보낼 것이다.
3) Remote Directory
현재 내가 젠킨스에 생성한 프로젝트는 My-Docker-Project이고,
target 파일은 바로 이 프로젝트에 있으므로
현재 폴더에서 작업을 진행한다는 의미로 [.]을 써주는 것이다.
4) Exec command
docker build --tag=cicd-project -f Dockerfile .;
docker run -d -p 8080:8080 --name mytomcat cicd-project:latest
war 파일을 전송 후 복사(빌드)하고, 실행해준다는 의미의 명령어이다.

커맨드로 수동 build를 해보면 다음과 같이 진행된다. (cicd-project가 아닌 docker-server로 빌드)


그 후 run으로 기동시키면 다음과 같이 배포가 완료된다.
3. Dockerfile?

이게 도커파일 내용이다.
이미지 파일을 이렇게 만들겠다는 의미가 담겨있다.
톰캣은 9버전대이고, hello-world.war파일을 도커 컨테이너 /usr/local/tomcat/webapps에 복사하겠다는 의미이다.
4. why 8081로 접속했는데 연결이 되었을까?

나의 로컬 pc docker에서 docker ps로 기동 상태를 살펴보면,
docker-server:m1 컨테이너에서 8081 포트로 요청이 들어오면,
docker-server:m1 컨테이너 내부는 8080으로 연결해주겠다고 이미 설정했기 때문이다.
'INFRA > CICD' 카테고리의 다른 글
Ansible Playbook 명령어 [파일복사 / 프로그램 다운] (0) | 2024.07.04 |
---|---|
Docker 컨테이너로 Ansible 실행 (0) | 2024.06.30 |
젠킨스 SSH Server 설정 (0) | 2024.06.23 |
SSH 서버에서 사용할 수 있는 도커 컨테이너 만들기 (0) | 2024.06.23 |
젠킨스 자동 빌드 환경 구성하기 [Poll SCM] (3) | 2024.06.19 |