Github Action Release
어제 Github Action으로 fs.write를 해서 repogistory에 작성되는 줄 알았는데, 컨테이너 내부에만 작성되었던 것이었다.
그래서 Github release를 통해서 json을 배포하기로 하였다.
hub release [--include-drafts] [--exclude-prereleases] [-L LIMIT] [-f FORMAT]
hub release show [-f FORMAT] TAG
hub release create [-dpoc] [-a FILE] [-m MESSAGE|-F FILE] [-t TARGET] TAG
hub release edit [options] TAG
hub release download TAG [-i PATTERN]
hub release delete TAG
release는 hub release create 커맨드를 통해 가능하다.
-a는 attached할 파일을 의미하고, -m은 메시지인데 첫 메세지는 타이틀, 이후의 -m은 description으로 간다.
-t는 Target branch를 의미한다. 디폴트는 현 브랜치,
태그는 무조건 하나 이상 추가해야한다. 태그를 통해 Release를 관리하기 때문
cd json && zip -r backup.zip ./*.json && hub release create -a backup.zip -m `date '+%Y-%m-%d'` `date '+%Y-%m-%d'`
모든 json을 모아서 zip파일로 만들고, -a를 통해서 파일을 첨부한다.
-m `date '+%Y-%m-%d'` `date '+%Y-%m-%d'`는 제목과 태그를 전부 오늘 날짜로 지정한 것이다.
리눅스에서 date 명령어를 통해서 현 시간을 알 수 있는데,
date: extra operand
위의 에러가 발생했다. 이는 date에서는 +를 통해서 포맷을 지정하는데 이것을 뒤에 형식과 띄어쓰기를 해버렸던 것.
date '+ %Y-%m-%d'
이외에도 quotation 실수 등이 이것을 야기함.
https://hub.github.com/hub-release.1.html
hub-release(1) - Manage GitHub Releases for the current repository.
Enable colored output even if stdout is not a terminal. WHEN can be one of "always" (default for --color), "never", or "auto" (default).
hub.github.com
__dirname is not defined
Common js 모듈을 ES 모듈로 바꾸었더니 이런 문제가 발생하였다.
이는 ECMAScripts module은 __dirname을 포함하고 잇지 않기 때문이고 이를 별도로 정의해주어야한다.
import path from 'path';
const __dirname = path.resolve();
import { fileURLToPath } from 'url';
import { dirname } from 'path';
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
등의 방법을 통해 해결할수 있다.
'TIL' 카테고리의 다른 글
TIL 2022-01-04 AWS Lambda와 Express Serverless로 변환 (0) | 2022.01.05 |
---|---|
TIL 2022-01-03 AWS EC2, RDS, API Gateway, Lambda (0) | 2022.01.04 |
TIL 2021-12-28 Github-action, Cron (0) | 2021.12.29 |
TIL 2021-12-28 SSR 구현,RTK-Query, 프그머 추석 트래픽 (0) | 2021.12.28 |
TIL 2021-12-23 Image Sprite 크기 조절, SSR 구현 (0) | 2021.12.24 |