서버에서 직접 소스 작업하지 않는 경우도 있어서 다른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]
댓글 없음:
댓글 쓰기