반응형
저번에 만들어 놓았던 실시간 검색어 Web의 업데이트를 위해 자동으로 Git에 push 해주는 기능을 추가하려한다.
1. Ubuntu Git 아이디 패스워드 저장
2. Git push 자동화를 위한 쉘 스크립트 작성
3. 쉘 스크립트 실행
개발환경 :
- AWS EC2
- Linux
- ubuntu
- Github
AWS EC2 환경을 구축하는 방법은 아래의 포스팅을 참고하기 바란다.
2021.10.05 - [AWS] - [AWS EC2] 클라우드 서버 구축해 웹페이지 만들기
참고사항 (프로그램 흐름이 궁금하신 분만 보세요)
프로그램 흐름
1. 파이썬을 이용하여 웹 크롤링한 정보를 바탕으로 실시간 검색어 순위를 hot-topic.txt 파일에 저장한다. (일정 시간마다 실행되도록 백그라운드 실행시켜 논다.)
2. 쉘 스크립트를 이용하여 일정 시간마다 깃 푸시를 한다.
이 포스팅에서는 2번을 알려주고있다. 1번의 과정이 궁금하다면 문의주길 바란다.
1. Ubuntu Git 아이디 패스워드 저장
아래의 포스팅 참고
2. Git push 자동화를 위한 쉘 스크립트 작성
2.1 auto-test-push.sh 생성
vi auto-test-push.sh
2.2 auto-test-push.sh
#!/bin/bash
while :
do
echo ""
echo "#################################### test #########################################"
echo ""
if [ '$?' = '0' ]; then
echo ""
echo "################################# git push ########################################"
echo ""
git add hot-topic.txt #자신이 원하는 파일 모든 파일을 원할 시에는 'add .'
git commit -m "update"
git push
else
echo ""
echo ""
echo "################################### test fail ####################################"
echo ""
echo ""
exit 1
fi
sleep 900
done
2.3 auto-test-push.sh 권한 허용
chmod 744 auto-test-push.sh
chmod +x auto-test-push.sh
2.4 auto-test-push.sh 명령어 등록
git config --global alias.auto-test-push '!./auto-test-push.sh'
- 쉘을 실행시킬 때에
git auto-test-push 명령어를 이용하여 실행시킬 수 있도록 새로운 명령어를 추가해 주는 것이다.
3. 쉘 스크립트 실행
nohup git auto-test-push
- nohub 명령어를 사용하여 창을 종료하여도 스크립트 파일이 계속 실행될 수 있게 한다.
- 실행시키면 nohup: ignoring input and appending output to 'nohup.out'
이라는 출력이 나오는데, 이는 nohup으로 수행되는 프로세스는 stdout 결과가 nohup.out 파일에 저장된다는 뜻이다.
잘 되는 것 확인 완료
위에 코드는 실제 적용한 코드와 조금 다르기 때문에 다르게 보일 수 있다. 하지만 기능은 같은 것이기 때문에 신경 쓰지 않아도 된다.
참조 : lee-seul.github.io/linux/other/git/2018/04/23/auto-push-code-git.html
반응형
'AWS' 카테고리의 다른 글
[iptime 접속하는법]192.168.0.1 안될때 (0) | 2021.10.24 |
---|---|
[AWS EC2] 클라우드 서버 구축해 웹페이지 만들기 (0) | 2021.10.05 |
[AWS] ERROR : Permission denied (0) | 2021.09.26 |
[ubuntu]우분투 버전확인 (0) | 2021.08.20 |