# streamlit을 활용한 CI/CD 계획 ![구성도](https://note.jhcloud.kr/shares/ZwlYP9FHBRwAgwkqbVyfs8?resource_id=aab6f97fadf946ad8174f2f9f185a676&t=1718939334732) **본 계획은 CI/CD 를 통한 빌드 및 배포를 진행할 때 보다 효율적인 버전 관리하는 것이 목표** --- ## 화면 구성 ![화면구성도](https://note.jhcloud.kr/shares/ZwlYP9FHBRwAgwkqbVyfs8?resource_id=231d219764b9450b978059fc4993f6c3&t=1718939334732) | 오브젝트 | 용도 | | --- | --- | | 테이블 | 애플리케이션의 이름, 빌드 및 배포할 버전, 사용자 표기 (편집은 버전과 사용자 필드만 가능) | | 테이블 옆 부분 | 테이블의 값이 변경될 경우 변경된 값 표시 | | 새로고침 버튼 | 만약 Git에 있는 json이 변경되었을 경우 `F5` 또는 해당 버튼을 통해 reload | | 업데이트 버튼 | 버전과 사용자를 수정 후 해당 버튼을 눌러 변경된 내용을 Git에 반영 | --- ## GIT TOKEN ```python token = os.environ['GIT_TOKEN'] user = os.environ['GIT_USER'] url = os.environ['GIT_URL'] repo_url = f'https://{user}:{token}@{url}' ``` `Git Token`과 `User` 같은 경우 소스 코드에 넣지 않고, `환경 변수`로 입력 받도록 설정 `프로젝트 주소` 또한 추후 편의성을 위해 `환경 변수`로 입력 받을 수 있도록 변경