2021년 6월 12일 토요일

chatbot에서 git 소스 자동 업데이트


서버에서 직접 소스 작업하지 않는 경우도 있어서 다른PC에서 작업한 후 소스를 자동을 업데이트 하는 부분을 작성해봤습니다.

보통 console 로 접속해도 되지만 그것보다 챗봇을 이용하면 좀 더 편하게 처리가 가능합니다.

전체 코드는 간단한데 원리는 단순합니다. 

process의 exit 코드를 받아서 조건에 따라 다른 동작을 하도록 구현을 하는것입니다.

#!/bin/sh
while true; do
echo "start"
python3 code/main.py
if [ $? -eq 99 ]
then
echo "system update"
git pull
fi
if [ $? -eq 90 ]
then
echo "reboot"
fi
done


python3 code/main.py 이 부분은 main code를 실행시키는 부분입니다. 자신이 동작할 서버 프로그램을 넣으면 됩니다.

해당 process가 종료 될때 exit code가 if [ $? -eq 99 ] 99 이면 아래 조건을 만족해서 git의 pull 동작을 수행합니다.





그전에 git의 pw/id 를 입력하지 않도록 아래 링크를 이용하여 미리 입력해 둡니다.

https://git-scm.com/docs/git-credential-store


EXAMPLES

The point of this helper is to reduce the number of times you must type your username or password. For example:

$ git config credential.helper store
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

[several days later]
$ git push http://example.com/repo.git
[your credentials are used automatically]












댓글 없음:

댓글 쓰기