gitlab 페이지의 Jupyter 노트북

문제


  • 현재 일부 플로팅 패키지의 출력(holoviews, Altair)이 노트북 자체의 일부로 저장되지 않는 경우가 있습니다.
  • 공동 작업자와 결과를 공유하려면 플롯을 추출하고 pdf 또는 html과 같은 형식으로 결합하는 추가 단계가 필요합니다.

  • 해결책: jupyter-book과 gitlab 페이지



    노트북의 출력을 공유 가능한 공통 형식으로 자동 저장합니다. 그림이 포함되어 있으며 matplotlib 기반 그림이 아닙니다! Here is a small demo

    컴퓨터에서 jupyter-book 설정


  • projects 폴더에서 jupyterbook을 초기화합니다. projects 폴더 위의 폴더에 있어야 합니다.

  • pip install -U jupyter-book cookiecutter sphinx myst_nb
    jupyter-book create projects --cookiecutter
    


  • 프롬프트에 따라 입력합니다. 예는 위의 스크린샷에 있습니다
  • .

    매일 사용


  • my_cool_project 폴더에 일부 jupyter 노트북을 생성합니다
  • .
  • 새로 만든 노트북의 이름을 폴더toc.yml의 파일my_cool_project에 추가합니다.
  • 로컬에서 jupyter 코드를 html로 컴파일합니다.

  • cd projects/my_cool_project
    jb build my_cool_project
    


    gitlab에서 jupyter-book 설정


  • gitlab에서 빈 저장소my_cool_project를 생성합니다
  • .

  • 새로 생성된 폴더my_cool_project를 gitlabmy_cool_project 저장소에 업로드합니다.
  • 빈 프로젝트를 생성할 때 gitlab에 나타나는 "기존 디렉토리 푸시"섹션을 따르십시오
  • .
  • git init 단계를 다음으로 대체해야 할 수 있습니다.

  • git init                              
    git symbolic-ref HEAD refs/heads/main
    


  • gitlab과 동기화

  •  git add * && git commit -m 'I did some work' && git push
    


    파란색 빌드 아이콘이 gitlab에 나타난 다음 녹색 확인 표시로 변경됩니다. 즉, 귀하의 페이지는 https://.gitlab.io/(예: https://mmyros.gitlab.io/my_cool_project/ )에서 사용할 수 있습니다.

    Gitlab 페이지 CI 디버그



    녹색 확인 표시가 나타나지 않거나 https://.gitlab.io/RepoName이 작동하지 않으면 다음을 포함하도록 편집.gitlab-ci.yml한 다음 평소처럼 커밋하고 푸시합니다.

    image: python:3.7                                                                                                                                                                                                  
    
    pages:                                                                                                                                                                                                             
      script:                                                                                                                                                                                                          
        - mv my_cool_project/_build/html/ public/                                                                                                                                                                      
      artifacts:                                                                                                                                                                                                       
        paths:                                                                                                                                                                                                         
          - public                                                                                                                                                                                               
    
    workflow:                                                                                                                                                                                                          
      rules:                                                                                                                                                                                                           
        - if: $CI_COMMIT_REF_NAME =~ /-wip$/  # Pipelines for branch or tag names that include -wip don't run                                                                                                          
          when: never                                                                                                                                                                                                  
        - if: '$CI_PIPELINE_SOURCE == "push"'                                                                                                                                                                          
    
    

    좋은 웹페이지 즐겨찾기