chromatic은 스토리북 관리자들이 만든 무료 퍼블리싱 서비스이다.
Netlify, Vercel과 같이 스토리북 사이트를 배포할 수 있을뿐만 아니라, 크로마틱 사이트 자체에서 컴포넌트를 미리 확인할 수 있고, 빌드 내역이 기록되어 컴포넌트 단위로 변경 사항을 확인할 수 있어 스토리북에 최적화 되어 있다.
실무에서 스토리북으로 제작한 디자인 시스템을 Chromatic으로 배포를 진행했는데, 선택하게 된 이유는 다음과 같았다.
1) 사내에서 사용 중인 bitBucket으로 배포를 진행할 수 있고, Private 리포지토리도 가능해야 함
2) 스토리북으로 제작한 디자인 시스템을 여러명이 접근하고 협업할 수 있어야 함
3) 단 chromatic에서 지원되지 않는 부분인 배포 자동화가 필요해서 고민을 했는데, 이는 파이프라인 설치를 통해 리포지토리 자체에서 배포 자동화를 하기로 함 (생각보다는 어렵지 않은 부분이었음)
Githuyb, BitBucket, GitLab 연동으로 가입이 가능하다.
블로그 글을 쓰면서 깃허브로 가입 및 Github Action으로 배포 자동화를 진행해 보고 싶어서 나는 깃허브로 가입해 보기로!
가입하면 바로 프로젝트를 생성할 수 있다.
Choose from Github 클릭
스토리북 프로젝트 리포지토리 선택!
그리고 StoryBook 선택하면
리포지토리 동기화가 완료되었고, chromatic을 프로젝트에 설치하고 배포하라는 명령어가 나온다.
뒷 부분은 토큰인데, 배포 이후 setting에서 다시 확인할 수 있으니 꼭 적어두지 않아도 괜찮을 것 같다.
npm install --save-dev chromatic
npx chromatic --project-token={토큰 값}
본래 다른 곳에서 배포 시 npm run build-storybook과 같이 build해야 하는데, 위 명령어는 build와 배포를 자동 진행해준다.
설치 마지막에 "package.json
에 chromatic script가 없어 추가해 주겠다"고 하는데,
수학 시 package.json의 scripts에 chromatic이 추가되고, npm run chromatic
명령어로 간단하게 빌드할 수 있게 한다.
해도 좋고 안해도 좋고 선택!
설치가 완료 되면 배포 사이트와 chromatic 프로젝트 사이트 url을 알려준다.
들어가보면?
npm run storybook으로 열어 보았던 스토리북 페이지와 스토리북 프로젝트 페이지를 볼 수 있다.
프로젝트 초기 화면이다.
컴포넌트 변경사항을 만들고 한번 더 build를 재 진행해야 관리 페이지에 접근할 수 있다.
이런 내용이 나오고, 계속 클릭하면
짠!
변경사항 확인 및 코멘트까지 남길 수 있다.
그리고 우측 상단 View Storybook 버튼을 클릭하면 변경사항이 반영된 사이트를 확인할 수 있다.
이 때 이동한 사이트는 build마다 그 때의 변경사항이 적용된 부분까지만 보여지게 된다.
컴포넌트들을 모아볼 수 있는 곳.
각 컴포넌트 들의 canvas와 snapshot(실제 브라우저가 스토리를 렌더링할 당시 '본' 이미지)을 살펴볼 수 있다.
visual test를 지원하는데, 기본적으로 Chrome을 테스트할 수 있고 유료 플랜 시 Firefox, Safari, Edge까지 볼 수 있는 듯.
<branch>
부분에 브랜치를 입력해 접속하면 해당 링크는 브랜치를 가리켜 그 브랜치에 적용된 최신 사항을 항상 보여준다. private
로 해놓으면 배포된 스토리북 사이트를 나를 포함한 초대한 사용자만 볼 수 있게 해준다. 좋은 기능인 것 같다b