Streamlit in Snowflake 앱을 Git 리포지토리와 동기화하기

Streamlit 앱에서 버전 관리를 사용하려면 앱을 Git 리포지토리의 분기와 동기화하면 됩니다.

이미 Git 리포지토리에 연결되도록 Snowflake 계정을 설정하고 해당 리포지토리에 앱에 사용할 분기를 만들었어야 합니다. Git을 사용하기 위해 Snowflake 설정하기 섹션을 참조하십시오.

참고

레거시 ROOT_LOCATION 매개 변수 를 사용하여 만든 Streamlit 앱의 경우 Git 통합이 지원되지 않습니다.

Git 리포지토리의 파일에서 Streamlit in Snowflake 앱 만들기

  1. Snowsight 에 로그인합니다.

  2. Projects » Streamlit 를 선택합니다.

  3. + Streamlit 옆의 드롭다운 메뉴를 열고 Create from repository 을 선택합니다.

  4. File location in repository 의 경우, 리포지토리에서 Streamlit 앱 파일이 들어 있는 리포지토리와 분기를 선택한 다음, 특정 .py 파일을 선택합니다. Snowflake를 Git 리포지토리에 연결하는 방법에 대한 자세한 내용은 Git을 사용하기 위해 Snowflake 설정하기 섹션을 참조하십시오.

  5. App location 에서, Streamlit 앱을 포함할 데이터베이스와 스키마를 선택합니다. 앱을 만든 후에는 변경할 수 없습니다.

  6. Query warehouseApp warehouse 의 경우 웨어하우스를 선택합니다.

  7. Create 를 선택하여 Git 리포지토리에 있는 .py 파일에서 Streamlit 앱을 만듭니다.

기존 Streamlit in Snowflake 앱을 Git 리포지토리에 연결하기

참고

Streamlit 앱을 Git 리포지토리에 연결하려면 최소한 다음 권한이 있는 역할을 사용해야 합니다.

  • Git 리포지토리에서 OWNERSHIP 또는 READ

  • Git 리포지토리가 포함된 스키마에 대한 USAGE.

  1. Snowsight 에 로그인합니다.

  2. Projects » Streamlit 을 선택한 다음 Streamlit 앱을 열거나 만듭니다.

  3. Files 탭의 데이터베이스 오브젝트 탐색기 옆에서 Connect Git Repository 를 선택합니다.

  4. File location in repository 의 경우, 리포지토리에서 Streamlit 앱을 동기화할 리포지토리와 분기를 선택합니다.

  5. Select Folder 를 선택합니다.

  6. 앱을 Git 리포지토리에 커밋하라는 메시지가 나타나면 Git 리포지토리의 브랜치에 변경 사항 푸시하기 에 설명된 커밋 단계를 완료합니다.

Streamlit 앱을 Git 리포지토리에 연결한 후에는 분기 이름을 선택하고 Snowflake나 Github에서 리포지토리 세부 정보를 열 수 있습니다.

Git 리포지토리의 브랜치에 변경 사항 푸시하기

Streamlit 앱이 Git 리포지토리의 분기에 연결되어 있는 경우 앱을 변경한 후 변경 사항을 분기에 푸시할 수 있습니다.

참고

Git 리포지토리에서 OWNERSHIP 또는 WRITE 권한이 있는 역할을 사용해야 변경 내용을 푸시할 수 있습니다.

  1. Snowsight 에 로그인합니다.

  2. Projects » Streamlit 을 선택하고 Streamlit 앱을 엽니다.

  3. Streamlit 앱에서 관련 사항을 변경합니다.

  4. Push to Git 을 선택합니다.

  5. 표시되는 Push to Git 대화 상자에서 지정된 브랜치 및 리포지토리에 변경 내용을 커밋하는 데 사용되는 사용자 이름과 이메일 주소를 검토할 수 있습니다. 사용자 이름과 이메일 주소를 업데이트해야 하는 경우 Credentials 섹션을 확장하고 Author nameAuthor email 을 업데이트합니다.

  6. Commit message 에, 커밋에 포함할 메시지를 입력합니다.

  7. Credentials 섹션을 확장하여 자격 증명을 구성합니다. Personal access token 필드에 Git 리포지토리에 대한 개인 액세스 토큰을 입력합니다. 이 엑세스 토큰은 GitHub 같은 원격 Git 공급자로부터 제공됩니다.

    • 이 토큰은 Git 리포지토리에 인증하는 데 필요합니다.

    • 커밋이 동작하려면 토큰에 리포지토리 콘텐츠에 대한 읽기 및 쓰기 액세스 권한이 있어야 합니다.

    • 토큰은 입력되면 향후 커밋을 위해 저장됩니다. 이후 커밋 시에 업데이트할 수 있습니다.

  8. Push 을 선택합니다.

변경 사항이 브랜치에 성공적으로 푸시되었다는 확인 메시지가 표시됩니다.

Streamlit in Snowflake 앱을 Git 리포지토리의 원격 분기와 동기화하기

앱을 Git 리포지토리의 분기에 연결한 후에는 원격 분기의 모든 변경 사항을 Streamlit 앱과 동기화할 수 있습니다.

Streamlit 앱을 Git 리포지토리의 원격 분기와 동기화하려면 다음을 수행하십시오.

  1. Snowsight 에 로그인합니다.

  2. Projects » Streamlit 을 선택한 다음 Streamlit 앱을 열거나 만듭니다.

  3. 데이터베이스 오브젝트 탐색기의 Files 탭에서 Pull 을 선택합니다.

Snowflake는 원격 리포지토리 분기에 있는 모든 변경 사항을 가져와서 해당 변경 사항과 내용을 병합합니다.

병합 충돌

Snowflake는 동기화 중에 발생하는 병합 충돌을 해결하려고 시도합니다. Snowflake가 해결할 수 없는 병합 충돌이 있는 경우 변경 내용을 삭제하거나 새 분기에 커밋하라는 메시지가 표시됩니다. 새로운 분기에 커밋하면 Git 공급자를 사용하여 새로운 분기의 변경 사항을 원래 분기에 수동으로 병합합니다. 그런 다음 최신 업데이트를 Streamlit 앱으로 가져와야 합니다.