设置开发环境#

开发和测试 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 \
      --env TLJH_BOOTSTRAP_DEV=yes \
      --env TLJH_BOOTSTRAP_PIP_SPEC=/srv/src \
      --env PATH=/opt/tljh/hub/bin:${PATH} \
      --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,地址为 https://: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 应该能做到这一点。

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