设置开发环境#

开发和测试 TLJH 最简单、最安全的方法是使用 Docker.

  1. 按照 其网站 上的说明安装 Docker Community Edition。

  2. 克隆 git 仓库(或你的分支)。

  3. 构建一个包含功能性 systemd 的 Docker 镜像。

    docker build -t tljh-systemd . -f integration-tests/Dockerfile
    
  4. 在后台运行一个使用该镜像的 Docker 容器,同时将你的 TLJH 仓库绑定到 /srv/src 下。

    docker run \
      --privileged \
      --detach \
      --name=tljh-dev \
      --publish 12000:80 \
      --mount type=bind,source="$(pwd)",target=/srv/src \
      tljh-systemd
    
  5. 在运行的 Docker 容器中获取一个 shell。

    docker exec -it tljh-dev /bin/bash
    
  6. 从容器内部运行引导程序(见上一步):容器镜像已设置为默认使用 dev 安装,因此它将从你的本地仓库而不是从 github 安装。

    python3 /srv/src/bootstrap/bootstrap.py --admin admin
    

    或者,如果你想在安装过程中设置管理员密码,可以使用以下命令(将“admin”替换为所需的管理员用户名,将“password”替换为所需的管理员密码)

    python3 /srv/src/bootstrap/bootstrap.py --admin admin:password
    

    为了方便起见,主 hub 环境也会在你的 PATH 中。

  7. 你现在应该能够从浏览器访问 JupyterHub,地址为 http://localhost:12000。恭喜你,你已经设置好开发 TLJH 了!

  8. 对仓库进行一些更改。你可以根据你所做的更改轻松地进行测试。

    • 如果你更改了 bootstrap/bootstrap.py 脚本或其任何依赖项,可以通过运行 python3 /srv/src/bootstrap/bootstrap.py 来测试它。

    • 如果你更改了 tljh/installer.py 代码(或其任何依赖项),可以通过运行 python3 -m tljh.installer 来测试它。

    • 如果你更改了 tljh/jupyterhub_config.pytljh/configurer.py/opt/tljh/config/ 或其任何依赖项,你只需要重新启动 jupyterhub 才能使它们生效。 tljh-config reload hub 应该可以做到这一点。

查看日志 提供了有关查看容器中各种日志以调试可能遇到的问题的信息。