Github Actions를 이용한 npm publish
Tistory Editor의 빌드와 배포를 Github Actions로 변경한 후 다른 것도 해보고 싶었는데 때마침 tinymce plugin을 수정해야할 일이 생겼다. opengraph플러그인인데 Tistory Editor 소스코드에 포함하지 않았고 npm을 통해서 import하고 있다.
할일은 코드를 수정하고 tag를 만들면 npm install, npm publish를 하는 것이다. 또 npm publish를 할 때 인증처리를 해야한다.
npmpublish.yml
name: Release
on:
push:
tags:
- v*
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm install
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
npm publish를 위한 workflow는 electron에 비해 굉장히 간단하다. 먼저 하나의 os에서만 해도 된다. 아무래도 개발/빌드 머신으로는 ubuntu가 좋은 것 같다. checkout은 당연히 하는거고 setup-node를 할때 registry-url을 지정해준다. 원래는 당연히 npmjs 뿐이었지만 지금은 yarn도 있고 github repository도 있으니 명시적으로 지정하는 것이 좋다.
가장 중요한 publish에서의 인증은 생각보다 간단하다. NODE_AUTH_TOKEN
란 이름으로 npmjs에서 생성한 토큰을 넣어주면 된다. 이렇게만 하면 끝이다.
이렇게 하고 보니 flutter도 쉽게 할 수 있을 것 같다. flutter 설치와 apk 생성, release에 업로드까지만 하면 되니까... 뭐 play store에 업로드해도 되고. 다음에 수정할때 해봐야겠다.
반응형