svn - 使用私有(private) svn+bower 在 dockerfile 中不起作用

标签 svn docker bower

我一直在尝试使用docker来运行我的开发环境。 我的堆栈有一个私有(private) Bower 注册表,需要在我的 $HOME 中使用 .bowerrc

我的 .bowerrc 文件的格式是:

/home/.bowerrc(在我的 docker 中作为卷安装)

{
  "registry": "https://<user>:<password>@bower.mycompany.com",
  "timeout": 300000,
  "strict-ssl": false
}

我将此文件挂载到我的 docker 文件中的方式是使用以下命令:

docker run -it --net='host' -v $(pwd):/home/dev/app -v /home/USER/.dockershared/.bowerrc:/home/.bowerrc --name="myproject" --privileged bower-gulp:node0.12

我的 Dockerfile 是为了支持使用 Bower、gulp 和 svn 的环境而构建的。这是Dockerfile

FROM node:0.12-wheezy
RUN useradd -ms /bin/bash dev
RUN chown -R dev:dev /home/dev
USER dev
ENV HOME /home/dev
ENV PATH "$PATH:/home/dev/.npm-global/bin"
WORKDIR /home/dev/app

RUN mkdir /home/dev/.npm-global && \
    npm config set prefix '/home/dev/.npm-global' && \
    npm install -g bower gulp && \
    apt-get install subversion

ENTRYPOINT ["/bin/sh", "-c", "/bin/bash"]

我使用 bower install 命令的 package.json 文件如下:

{
    "name": "my_project",
    "version": "3.1.3",
    "description": "",
    "author": "",
    "license": "ISC",
    "repository": {
        "type": "svn",
        "url": "https://svn.mycompany.com/repos/My_repo"
    },
    "devDependencies": {
        "bower": "1.x",
        "del": "^2.2.0",
        "gulp": "3.x",
        "gulp-maven-deploy": "^0.2.0",
        "gulp-rename": "^1.2.2",
        "gulp-template": "^3.1.0",
        "node-rest-client": "^1.8.0",
        "run-sequence": "^1.1.5",
        "svn-npm-crutch": "0.x"
    },
    "svnDependencies": {
        "framework-tools-build": "https://svn.mycompany.com/repos/tools/build/trunk",
        "framework-tools-functional-testing": "https://svn.mycompany.com/repos/tools/functional-testing/trunk"

    },
    "engines": {
        "node": ">=0.8.0"
    },
    "scripts": {
        "install": "bower install -F --allow-root && node ./node_modules/svn-npm-crutch/lib/svn-npm-crutch.js",
        "demo-mode": "gulp functional-test --browser=chrome --demo"
    },
    "config": {
        "unsafe-perm": true
    }
}

最后,当我尝试 npm installbower install 时,我收到此错误:

bower ECMDERR       Failed to execute "svn list https://svn.mycompany.com/repos/ui/common/tags --verbose --non-interactive", exit code of #1 svn: OPTIONS of 'https://svn.mycompany.com/repos/ui/common/tags': authorization failed: Could not authenticate to server: rejected Basic challenge (https://svn.mycompany.com)

Additional error details:
svn: OPTIONS of 'https://svn.mycompany.com/repos/ui/common/tags': authorization failed: Could not authenticate to server: rejected Basic challenge (https://svn.mycompany.com)

有人可以帮助我理解这一点吗?

最佳答案

终于明白问题所在了。

docker 容器内应接受 SVN 证书。 为此,请在 docker 容器内使用交互附加模式进入 -ia并使用入口点 /bin/bash控制台,我运行了这个命令:

svn info <any_svn_respository_of_my_company>

示例

svn info https://svn.mycompany.com/repos/ui/common/ .

然后我接受了证书,一切正常!

关于svn - 使用私有(private) svn+bower 在 dockerfile 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40046381/

相关文章:

angularjs - Karma 文件 : include everything, 除了忽略 Bower_components,除了包含特定的 Bower 文件

apache-spark - 如何使用 Kubernetes 在 spark 集群中调度作业

java - 如果使用 SVN checkin 某些内容,如何配置 Jenkins 自动构建项目?

svn - 如何将我的 Google Code Subversion 存储库移动到 CollabNet

svn - 我怎样才能真正让 Subversion 忽略目录?

mysql - 无法使用 go 和 docker 连接到 mysql 服务器 - 调用 tcp 127.0.0.1 :3306: connect: connection refused

docker - 用于Docker Swarm中所有服务的基本镜像中的Avro ?? NiFi-> Kafka-> PostgreSQL

less - 如何使用 bower 作为包管理器来获得 Less v.2.0.0 的 Rhino 版本

javascript - 类型错误 : Cannot read property 'sortingLevel' of undefined

eclipse - 无法在 Subclipse 中复制和粘贴旧版本的代码?