## 보드 운영 배포 관리

저희는 개발 팀에서 먼저 개발 서버에서 보드를 개발과 테스트를 마친 다음에, 운영 서버로 배포를 해서 사용자들이 사용할 수 있도록 합니다.
개발 서버에서 운영 서버로 간편하게 배포할 수 있는 방법이 있나요 ?

### ANSWER

주로 배포해야할 대상은 다음과 같습니다.

- 커넥션 정보
- 시나리오 정보
- 첨부파일 정보
- 보드 모델링 정보

각각의 정보 아이템들은 데이타베이스에 저장되어 있으며, 각각 id 와 name 필드를 가지고 있습니다.
모델링된 보드에는 시나리오를 호출하거나 첨부파일을 로드하는 정보가 포함되어 있을 가능성이 높고,
보통 id또는 name으로 참조하게되기 때문에, 개발 서버와 운영 서버에서 동일한 id와 name을 유지하는 것이 편리합니다.

따라서, 각각의 아이템들은 export / import 할 수 있는 기능을 제공하며,
이 경우에 id와 name값이 유지되도록 하고 있습니다.

참고로 id는 uuid를 사용하므로, 시스템 간에 중복될 가능성이 없습니다. 따라서, 각 시스템에서 만들어진 아이템에 영향을 미치지 않게 됩니다.

#### 커넥션 정보

- 커넥션 정보는 커넥션 리스트 페이지에서 한번에 export / import 할 수 있습니다.
- export 시에 json 포맷을 선택하면, 하나의 json 파일로 전체 커넥션 내용이 포함되어 저장됩니다.
- 체크박스로 선택된 커넥션들만을 export 할 수도 있습니다.

![connection]

#### 시나리오 정보

- 커넥션 정보는 커넥션 리스트 페이지에서 한번에 export / import 할 수 있습니다.
- export 시에 json 포맷을 선택하면, 하나의 json 파일로 전체 시나리오 내용이 포함되어 저장됩니다.
- 체크박스로 선택된 커넥션들만을 export 할 수도 있습니다.

![scenario]

#### 첨부파일 정보

- 첨부파일 정보는 첨부파일 리스트 페이지에서 한번에 export / import 할 수 있습니다.
- export 시에 json 포맷을 선택하면, 하나의 json 파일로 전체 첨부파일 내용이 포함되어 저장됩니다.
- Import 시에 export된 json 파일을 선택하면, export된 전체 첨부파일이 임포트됩니다.
- 너무 큰 파일을 포함하는 경우에 json 파일의 크기가 커져서 파일 업로드 크기 제한을 초과할 수 있으니, 미리 업로드 크기 제한 설정을 조정하시기 바랍니다.
- 첨부파일 종류(audio, video, image, text, application)로 필터링된 첨부파일들만을 export 할 수도 있습니다.

![attachment]

#### 보드 모델링 정보

보드 모델링 정보는 개별 보드별로 export / import 할 수 있습니다.

![board-export]

보드 모델링 정보를 import 하는 기능은 그룹 정보 페이지에서 제공됩니다.

- 보드를 임포트할 그룹의 이름을 길게 클릭한다.(마우스를 누른상태로 0.5초 이상 유지)
- 보드 정보 창에서 보드를 임포트한다.
- overwrite를 선택하면, 기존의 동일한 아이디를 가진 보드를 덮어쓰게되며, 선택하지 않으면 동일한 아이디의 보드가 이미 있는 경우에 새로운 아이디로 보드를 생성한다.

![group-info]

![board-import]

[connection]: ./images/board-deployment-01.png
[scenario]: ./images/board-deployment-02.png
[attachment]: ./images/board-deployment-03.png
[board-export]: ./images/board-deployment-04.png
[group-info]: ./images/board-deployment-05.png
[board-import]: ./images/board-deployment-06.png
