일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- draganddrop
- react
- Digital Ocean
- Unity Editor
- css framework
- server
- nodejs
- spread 연산자
- OverTheWire
- Google Developer API
- Unity IAP
- Google Refund
- rpg server
- unity
- --watch
- screencapture
- java
- Camera Movement
- Camera Zoom
- MySQL
- Git
- springboot
- Spring Boot
- docker
- linux
- SDK upgrade
- express
- critical rendering path
- Packet Network
- mongoDB
- Today
- Total
우당탕탕 개발일지
private Git Repository 에서 최신 릴리즈 파일 다운받기 본문
서버에서 깃을 연동했는데, 쓸모없는 파일까지 모두 clone을 하는것은 비효율적인 것 같아서, 꼭 필요한 파일들만 추려서 (.dll파일들) 릴리즈로 업로드하였음.
서버에서 이 private repository에 있는 최신의 에셋을 다운받아야 하는데 이게 너무너무 어려어우어 3일간의 삽질 끝에 드디어 성공함
스크립트 먼저 보자보자보자
donwloader.sh
#!/usr/bin/env bash
TOKEN ="access token" //todo: enter access token
OWNER ="username" //todo: enter username
REPO = "clean repo name" //todo: enter repo
API_URL="https://$TOKEN:@api.github.com/repos/$OWNER/$REPO"
ASSET_ID=$(curl $API_URL/releases/latest | jq -r '.assets[0].id')
echo "Asset ID: $ASSET_ID"
##rm -f $FILE_NAME
curl -o $FILE_NAME -J -L -H "Accept: application/octet-stream" "$API_URL/releases/assets/$ASSET_ID"
tar xvf $FILE_NAME
rm -f $FILE_NAME
1. AccessToken 발급받기
Settings > Developer Settings > Personal AccessTokens > Tokens 에서 발급받음. 한번 발급받은 뒤 토큰을 까먹으면 재발급 밖에는 방법이 없으므로, 메모장에 잘 메모해두도록 하자. 이걸 TOKEN 란에 입력한다.
2. curl 을 통해 private repo 의 latest 버전 assetId 찾아내기
> API_URl 에 accessToken과 Owner(devchop2), REPO 이름 (ChopEnd) 이 필요하다
> jsonQuery 를 이용해 여러 에셋들 중 첫번 째 에셋의 id를 가져온다. (.assets[0].id) > assetId가 null이 아닌지 잘 확인해보자.
3. AssetId를 이용하여 curl을 통해 실제 압축파일(tar) 다운받기 & 압축풀기
> -o 옵션을 사용해 압축파일의 이름을 설정해준다. 압축해제까지 한번에 진행하기 위함이다.downloader.sh
downloader.sh가 처음 생성한 거라면 우선 실행권한 먼저 주고, 실행을 시켜준다. 그러면 chopend_V0.1 폴더가 따란~
chmod u+x downloader.sh
./downloader.sh
진짜 셸스크립트도 공부좀 해야겠다나는 생각이..들었다..
정말힘들었어
참고사이트 :
https://gist.github.com/illepic/32b8ad914f1dc80446c7e81c3be4e286
'Server' 카테고리의 다른 글
[Docker] 도커 명령어 정리 (0) | 2024.03.31 |
---|---|
Google Developer API 사용하여 환불처리하기 (1) | 2023.11.09 |
서버에서 c# 프로그램 실행하기(3) : 데이터 송수신 (0) | 2023.09.05 |
서버에서 c# 프로그램 실행하기(2) (2) | 2023.08.13 |
서버에서 c# 프로그램 실행하기 (2) | 2023.08.07 |