Docker로 Zen-CLI를 구축하면서 Makefile로 편안하게 이동
계기.
그래서 실제로 해봤어요.
전제 조건
창고의 구성은 다음과 같다[1].
zenn-contents.git
├ articles -> Zenn-CLIで管理される記事ディレクトリ
├ books -> Zenn-CLIで管理される本ディレクトリ
├ CLI
│ ├ Dockerfile
│ └ package.json -> Zenn-CLIのバージョン管理に使用
├ docker-compose.yml
└ Makefile
컨테이너 내 작업 디렉토리 구성
우선 다음과 같은 방법으로 제작
Dockerfile
과docker-compose.yml
.Dockerfile
FROM node:12
WORKDIR /zenn
ADD package.json /zenn/package.json
RUN npm install
EXPOSE 8000
ENTRYPOINT [ "npx", "zenn" ]
CMD [ "preview" ]
공식 절차에 따라서도 가능하지만, 여러 PC에서 편집해야 한다는 점을 고려하면 제니-CLI 버전을 관리하는 것이 좋다package.json
.또한 조합
ENTRYPOINT
과 CMD
을 통해 용기를 실행할 때의 매개 변수를 생략할 수 있다.docker-compose.yml
version: '3.1'
services:
zenn-cli:
build:
context: ./CLI
volumes:
- ./articles:/zenn/articles
- ./books:/zenn/books
working_dir: /zenn
ports:
- 127.0.0.1:8000:8000
는 마운트articles
와 books
만 하면 호스트와 용기 사이에서 글과 책을 공유할 수 있어 여분의 파일이 왔다 갔다 이동하는 것을 방지한다.실제로 행동해 보세요.
먼저
docker-compose up
로 아래와 같이 확인합니다.zenn-cli_1 | 👀Preview on http://localhost:8000
그리고 브라우저에서 http://localhost:8000/
를 열면 Zenn Editor가 나타납니다.하지만 이렇게 되면 터미널이 젠-CLI에 독점되기 때문에 앞으로
docker-compose up -d
수호자로 이동한다.Makefile을 사용한 명령 단순화
여기 귀찮은 지령이 있지 않습니까?
( ^ω^)
⊃
docker-compose up -d
⊂이렇게...
( ^ω^)
≡⊃⊂≡
이렇게 하면
( ^ω^)
⊃
make
⊂여기 기억하기 어려운 지령이 있지 않습니까?
( ^ω^)
⊃
docker-compose run zenn-cli new:article
⊂이렇게...
( ^ω^)
≡⊃⊂≡
이렇게 하면
( ^ω^)
⊃
make article
⊂up:
docker-compose up -d
down:
docker-compose down
article:
docker-compose run zenn-cli new:article
book:
docker-compose run zenn-cli new:book
shell:
docker-compose run --entrypoint bash zenn-cli
update:
@jq ".dependencies[\"zenn-cli\"] = \"`docker-compose run --entrypoint npm zenn-cli show zenn-cli version | tr -d '\r'`\"" CLI/package.json > CLI/tmp.json
@mv CLI/tmp.json CLI/package.json
docker-compose build
끝맺다
미리보기로 표시된 상태에서 보도된md 파일을 업데이트하면 미리보기에 실시간으로 반영돼 잘 진행되고 있습니다(···)
게다가 GiitHub로 관리->GiitHub Actions로 사용->CI로 TextLight를 간단하게 조작할 수 있습니다!
따라서 텍스트를 넣으면 편안한 글쓰기 환경을 만들 수 있지 않을까😇
각주
엄밀히 말하면
.gitignore
과README.md
도 있지만 본질이 아니기 때문에 여기서 생략↩︎Reference
이 문제에 관하여(Docker로 Zen-CLI를 구축하면서 Makefile로 편안하게 이동), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/417_72ki/articles/33957a8aea110ba6350c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)