Synology 上的 Docker Jenkins

问题描述 投票:0回答:1

我已在 Synology NAS 上为 jenkins 设置了一个 docker-container(名称:jenkins-01)。 我还在同一台 NAS 上设置了 Synology 提供的 git-server。 为了从 jenkins-01 访问 git-repositories,我在 NAS 上创建了一个用户“jenkins”。

我的 NAS 上的 git 服务器可以通过 SSH 访问,我可以从我的桌面计算机访问存储库。

这是我使用的 URL 示例:

ssh://jenkins@<ip>:<port>/volume1/gitrepos/<repo>

使用该 URL,我可以从我的台式机克隆。 我还使用与桌面计算机上的 NAS 上提供的完全相同的 docker-compose.yml 文件设置了一个 docker 容器。在该 jenkins 实例中,我可以使用此处显示的 URL 创建管道,不会出现任何问题。所以基本上我确信 URL 和使用的 SSH 凭证都没有问题。

但是,当我尝试在 NAS 上作为 docker 容器运行的 jenkins 实例中执行相同的操作时,我无法使用 URL 连接到同一 git 服务器。提供的消息是 URL 无效。我还尝试用 jenkins-instance 中配置的 gateway-ip 替换 。

为了找出网关 IP,我在 NAS 上使用了以下命令:

docker container inspect jenkins-01

这是我使用的 docker-compose.yml:

version : "3"

services:
  app:
    image: jenkins/jenkins:lts-jdk11
    container_name: jenkins-01
    privileged: true
    user: root
    networks:
      vlan_devnet:
        ipv4_address: 172.18.100.2
    ports:
      - 51080:8080
      - 51000:50000
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - ./etc/resolv.conf:/etc/resolv.conf
    environment:
      JAVA_OPTS: -Duser.timezone=CET
    restart: unless-stopped
        
networks:
  vlan_devnet:
    external: true

我想念什么?

docker jenkins synology
1个回答
0
投票

我在 Synology 上运行 Jenkins LTS 容器,并使用 Gitea(由 Synology 提供)。我想我也有同样的问题。我很确定一切都是正确的,但 Jenkins 无法访问 git 存储库。

我发现,您需要使用 Synology 服务器的 IP 地址,因为 Jenkins 正在运行不同的网络(因为它是一个容器)。但既然你写了 {ip} 我想这不是问题所在。

我可以在 Gitea 日志中看到 Jenkins 正在访问该存储库,但它只是退出了。 日志显示消息

ssh 尚未通过身份验证

因此 Jenkins Job 可以找到并尝试访问该存储库。但 ssh 拒绝它。

到目前为止我发现了什么:

如果我是正确的,容器包含所有需要的东西,所以在这种情况下也是 ssh 客户端。

我认为synology或Jenkins正在使用ssh-rsa。默认情况下,它在 ssh 上不再可用。

谷歌此以获取更多信息;

PubkeyAcceptedAlgorithms=+ssh-rsa

我没有修复它,但这也许可以帮助你。

© www.soinside.com 2019 - 2024. All rights reserved.