[Git] Git push 자동화 (Bash Shell) ⚙

Hoon;·2021년 12월 8일
1

Git & Github

목록 보기
2/3
post-thumbnail

Git에 대한 스터디를 기록해보겠습니다.


Git push를 하기위해 반복되는 루틴을 더는 참을 수가 없었습니다.
쉘 스크립트를 사용하여 push를 자동화 해 보도록 하겠습니다.

- Github Access Token 발급 ✍

1. 내 계정 설정

  • Settings 클릭!

  • 개발자 세팅 클릭!

  • Personal access tokens 생성하기

2. Token 정보 입력
토큰 이름, 기간, 사용할 기능들을 입력 해 줍니다.

3. 생성 완료
token값을 아주 비밀스럽게 저장 해 두시면 됩니다.
잃어버리시면.... 다시 만날 수 없습니다.


- 쉘 스크립트 생성 📝

1. vi 편집기로 파일을 생성과 동시에 오픈

> vi gitpush.sh

2. i 를 눌러 편집기 insert 모드로 변경 후
github_id
github_Token
github_Address
logFile
SourceDir
변수 값은 여러분들의 상황에 맞게 입력하시면 됩니다.
제가 나름대로 만들어 보았습니다.
아래 코드를 복붙 해주세요!


gitpush.sh 📝

#!/bin/bash

date=`date`
github_id="id"
github_Token="access token key"
github_Address="git원격 주소"
logFile="로그 파일 생성 위치(절대 경로)/push.log"
SourceDir="소스 디렉토리 (절대 경로)"

cd $SourceDir

echo "git add . ..." && echo "git add . ..." > $logFile 2>&1
echo "`git add .`" >> $logFile 2>&1
echo "" && echo "" >> $logFile 2>&1 && echo "==" >> $logFile 2>&1

echo "git status" && echo "git status" >> $logFile 2>&1
echo "`git status`" >> $logFile 2>&1
echo "" && echo "" >> $logFile 2>&1 && echo "==" >> $logFile 2>&1

echo "git commit -m $date commit" && echo "git commit -m $date commit" >> $logFile 2>&1
echo "`git commit -m "$date commit"`" >> $logFile 2>&1
echo "" && echo "" >> $logFile 2>&1 && echo "==" >> $logFile 2>&1

echo "git push!" && echo "git push!" >> $logFile 2>&1
git push https://$github_id:$github_Token@$github_Address >> $logFile 2>&1

sleep 2

result="`awk '/Everything up-to-date/' $logFile 2>&1`"
echo "$result"


if [ -z "$result" ];then
        echo "git push Success~!" && echo "git push Success~!" >> $logFile 2>&1
else
        echo "!! git push ERROR! please check $logFile !!" && echo "!! git push ERROR! please check $logFile !!" >> $logFile 2>&1
fi

exit 0

위 스크립트를 좀 더 좋은 방향으로 개선하기 위해 노력 중🔥입니다.
아래 주소에서 사용 방법 및 더 최신의 스크립트를 보실 수 있습니다.
https://github.com/hunmin815/Git-Automation 👈 (새 창으로 열립니다)


3. 파일 저장

  • :wq

4. 파일 권한 변경
파일 생성시 실행 권한이 보시다시피 없습니다.
실행 권한을 부여 해 주셔야 합니다.


> chmod 750 gitpush.sh

명령어를 실행 해 주시면
실행 권한이 생겼습니다. ('x'가 execute를 뜻 합니다.)
뭔가 파일 색깔도 기분좋게 바꼈죠?


- 스크립트 실행 🏃‍♀️🏃‍♂️

아래와 같이 입력하시면 스크립트가 실행됩니다.
실패하시면 ERROR 로그가 발생합니다.

> ./gitpush.sh


로그 파일도 생성되었습니다.


열어서 보시면

> cat push.log


수행된 로그가 남아있습니다.

많관부!
이상 마치도록 하겠습니다.

감사합니다!

profile
S/W Engineer & Developer | 블로그 이전 - https://bakingdevlog.tistory.com

0개의 댓글