코딩

    Github Actions를 이용한 CI/CD (자동 배포)

    깃허브에 접속 후 settings -> secrets Name을 정해주고 pem파일의 내용을 복사후 붙여넣기 name: ec2 deploy on: push: branches: - main jobs: SSH: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: ssh to ec2 uses: appleboy/ssh-action@master with: key: ${{ secrets.SSH_PRIVATE_KEY }} host: ${{ secrets.HOST }} username: ${{ secrets.USER }} script: | cd streamlit_car_price_app git pull 초록색 체크표시가 뜨면 성공했다는 뜻.

    PuTTY - git pull

    위 작업에서 환영합니다를 추가하려 해서 아래 사진과 같이 작업을 먼저 해줍니다. 이후 PUSH작업 이후에, 이제 가상환경에도 수정한 코드로 작동을 하는 웹 대시보드를 실행하기위해 git pull을 입력해줍니다.

    PuTTY - 백그라운드로 실행하기,종료하기 / nohup,kill

    터미널 접속을 끊어도, 24시간 365일 스트림릿이 돌아가도록 하는 방법. 위 사진과 같이 nohup streamlit run app.py & app.py부분에는 본인의 파일 명을 입력해주면 된다. 돌아가는 프로세스 확인은 ?? 위 사진과 같이 ps -ef | grep streamlit을 입력해주면 저는 Process ID가 4493입니다. 돌아가는 서버를 종료하는 방법은 kill processID (숫자)를 입력해주면 됩니다.

    PuTTY - AWS EC2 방화벽 설정하기

    클론 후에 streamlit run app.py를 이용해 서버를 오픈하고, 새 인터넷 창에서 url을 복사 붙여넣기 해보니, 사이트에 연결할 수 없음이 뜬다. 이유를 생각해보니, 전에 AWS에서 DB를 이용할 때에도 방화벽 문제 때문에 접속이 안 됐던 적이 있어서 AWS에서 EC2의 인스턴트 - > 보안에 들어가 처리를 해주었다. 처리 과정. 보안 그룹을 클릭하여 들어가준다. 이후 규칙추가 -> 포트범위 설정 -> 소스 설정 -> 규칙저장을 해주고 다시 접속을 해보니 접속이 가능해지는 것을 확인할 수 있다.