代码之家  ›  专栏  ›  技术社区  ›  ocuenca

停靠TeamCity时未找到MSSQL驱动程序

  •  1
  • ocuenca  · 技术社区  · 7 年前

    在我使用此命令加载一个TeamCity图像后:

    docker run -it --name teamcity -p 8111:8111 jetbrains/teamcity-server
    

    在选择MSSQL时,我只能访问数据库集合。 enter image description here

    我试图在文档中找到解决方案,发现了以下页面:

    Setting up TeamCity with MS SQL Server

    我按照文档中的建议,下载了 Microsoft JDBC Driver 6.2 我复制了它的内容,它是一个拉链式的 <Team City Data Directory>/lib/jdbc 目录显然,即使我将包含驱动程序的jar文件放在请求目录中,也无法识别。我试着先复制 mssql-jdbc-6.2.2.jre8.jar mssql-jdbc-6.2.2.jre7.jar 目录中的文件稍后将包含zip的所有内容。之后,我下载了Microsoft JDBC驱动程序6.0,认为这可能是版本问题,因为文档建议复制 sqljdbc42.jar ,我也这么做了,什么也没做。可能是因为我的MSSQL服务器也是一个docker容器,并且没有需要在我的机器中安装的特定驱动程序。

    1 回复  |  直到 7 年前
        1
  •  0
  •   ocuenca    7 年前

    我想出来了,你需要找到docker把 TeamCity Data Directory . 在我的情况下,我没有在运行的命令中指定路径:

    docker run -it --name teamcity-server -v C:/ProgramData/JetBrains/TeamCity -v C:/TeamCity/logs -p 8111:8111 jetbrains/teamcity-server:latest-nanoserver
    

    这就是docker为我创建默认路径的原因:

    enter image description here

    一旦我找到了那条路,就很容易移动了。jar库,根据此 link ,即 TeamCity Data Directory/lib/jdbc 目录

    如果您想避免使用丑陋的默认目录,则需要在中指定TeamCity数据目录的路径 command :

    docker run -it --name teamcity-server-instance
        -v <path to data directory>:C:/ProgramData/JetBrains/TeamCity
        -v <path to logs directory>:C:/TeamCity/logs
        -p <port on host>:8111
        jetbrains/teamcity-server:latest-nanoserver
    

    哪里

    • 数据目录的路径 是要用作的主机目录 TeamCity数据目录,其中TeamCity存储项目设置和 生成结果。传递全新开始的空目录。当 映射未设置,您将丢失上的所有TeamCity设置 容器关闭。

    • 日志目录的路径 是要存储的主机目录 TeamCity服务器日志。映射可以省略,但是日志 将在容器关闭时丢失,这将导致问题 调查不可能。

    因此,我强烈建议在命令中设置该字段,因为正如文档所指出的那样,如果不设置该字段,则在容器关闭时将丢失所有TeamCity设置。