- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
长话短说
有什么方法可以让 docker-compose 与 TFS Git URI 一起工作?
我编写了一个简单的 docker-compose.yml,它从包含 dockerfile 的存储库中提取数据并构建图像。
version: '3.4'
services:
ubuntu:
image: ubuntu-fromrepo
build:
context: https://github.com/dockerfile/ubuntu.git
dockerfile: Dockerfile
当你运行它时:
docker-compose up --build
它会自动 pull git 仓库(master 分支),构建 ubuntu 镜像并运行它。
我在 TFS 上有一个带有 dockerfile 的存储库,当您手动 pull 它并运行它时,它就可以工作。因此,git clone ...
克隆 repo,docker build .
构建镜像,然后 docker run -it ubuntu:14.04
(例如,在 TFS 中使用与上面相同的 repo )。
但是,我上面使用的 docker-compose 方法不起作用,因为 TFS 的 Git URI 无法解析。它需要一个 HTTPS Git URI ("https://server-name/repository-name.git") 但在 TFS 中,Git URI 的格式是 ("https ://server-name/tfs/Default/project-name/_git/repository-name").
docker-compose 无法解析此 URI 并输出此错误:
Service '...' failed to build: {'message': 'error downloading remote context http://.../tfs/Default/.../_git/...: failed to GET http://.../tfs/Default/.../_git/... with status 401 Unauthorized: \r\n ...
HTML 只是一个带有以下错误代码的错误页面:
完整的 HTML here .
TF400813: Resource not available for anonymous access. Client authentication required.
有什么方法可以让 docker-compose 与 TFS Git URI 一起工作?
更新:
我已经使用标记化的 URI 对其进行了测试:
git clone https://token@servername/tfs/Default/projectname/_git/repositoryname
有效,但在 docker-compose.yml 文件中使用相同的 URI 无效 - 给出此错误:
ERROR: compose.cli.errors.log_api_error: error detecting content type for remote http://...@.../tfs/Default/.../_git/...: unsupported Content-Type "text/html; charset=utf-8"`
我认为这只是针对无法访问的资源在 TFS 上返回错误页面?
最佳答案
您展示的示例(使用 https://github.com/dockerfile/ubuntu.git
URL)假定 Git 存储库可公开访问,并且不需要身份验证。另一方面,您的 TFS URL确实需要您进行身份验证。
最好的方法是创建一个 personal access token .这将允许您限制对资源的访问并支持简化的身份验证方案(如 HTTP Basic)。为“代码(读取)”创建个人访问 token 并记下它。
现在您可以在用于连接的 URL 中指定个人访问 token :
https://username:personal_access_token@servername/tfs/Default/projectname/_git/repositoryname
例如:
https://ethomson:a3bwcvdie7figfhriij4krlfmznko7pgqmr7s7tbuwvdw7xiybza@tfs:8080/tfs/DefaultCollection/Test/_git/testrepo
请注意,您的个人访问 token 就像密码 一样应该受到保护。如果您不想将个人访问 token 直接存储在 docker-compose.yml
中,那么您可以使用环境变量:
services:
ubuntu:
image: ubuntu-fromrepo
build:
context: https://username:${PAT}@servername/tfs/Default/projectname/_git/repositoryname
dockerfile: Dockerfile
关于git - docker-compose 无法从 TFS (Team Foundation Server) 解析 Git URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54037803/
无法将应用程序添加到 Teams 管理员中的自定义策略。 在新海关政策中添加新应用程序后。单击保存按钮时,出现错误显示“我们现在无法保存应用程序设置策略。请重试。如果问题仍然存在,请联系 Micros
我想创建一个应用程序,当用户在 MS Teams 中接到电话时会收到通知。我的意思是我想在来电事件上订阅一些东西,然后根据来电信息做一些事情。这可能吗?到目前为止,我在 SDK 中没有看到任何事件。
这个问题在这里已经有了答案: jQuery validate dynamic input array (2 个答案) jQuery Validate array input element whic
未在从 MS Teams 返回的事件对象中获取时区... 我能够从 MS Teams 上发布的用户消息中获取事件对象,但时区为 null。我需要确定用户。 下面是事件对象。 Activity Obje
我有一个简单的 web 应用程序,我在 Teams 中显示为一个应用程序。我已经在 App Studio 中进行了设置,一切都按我的预期工作,一切都很好。它正在显示我的网络应用程序,这就是我想要的。
从 Flow 向 Microsoft Teams 发布自适应卡片时,该消息似乎被压缩到大约 50% 的宽度。它不会扩展以适应 Teams 中的消息容器。 Squished Adaptive Card
如何在 Microsoft Teams 中恢复已删除的团队?似乎没有相应的选项可以做到这一点? 出于某种原因,我删除了某个团队,由于团队尚不存在,因此我无法使用“管理团队”之类的选项。 最佳答案 因为
如果在 Microsoft Teams 中运行,我有一个需要执行特定代码的 Web 应用程序,但是我还没有弄清楚是否有任何方法可以判断您的应用程序是否在团队中运行。有什么想法或见解吗? 编辑: 对于任
有什么方法可以通过深层链接与 ms-teams 中的机器人开始对话吗? 我已经在 https://docs.microsoft.com/en-us/microsoftteams/platform/co
我将来在 MS Outlook 中设置了外出 session 提醒,现在我的 MS Teams 显示外出。 我检查了我的 MS Outlook 中的设置,并尝试手动更改我在 MS Teams 中的状态
我在办公室工作,我们有大量文件存储在 SharePoint、OneDrive 等中,我可以轻松连接到 Microsoft Teams,但也有很多文件存储在网络共享中,路径如\\xxxx\xxxx\xx
虽然有很多关于如何向团队添加选项卡的文档,但我似乎找不到任何关于如何创建和驱动用户访问选项卡内容(如 T-Bot 中演示的内容)的文档。 谁能告诉我有关如何向机器人添加标签的任何文档? 这就是我要说的
我们正在尝试使用 Teams、Flow 和 Assembla 创建审批工作流,但遇到了一些麻烦。 我们已经成功设置了一些部分,但是我们无法从 Teams 中的卡启动 POST 操作。 在团队中,我们可
已发布here我正在寻找一种方法来设置当前用户在 Teams 中的状态,就像我使用 Lync SDK 为 Skype for Business 所做的那样。 是否有适用于 Teams 的类似 SDK,
我试图从传入的 webhook 中提及用户。 我通过 postman 尝试了几次迭代 { "text": "test @user" } 或者 { "text": "test @user@email.c
我们公司几个月前开始使用 Microsoft Teams。我的一位同事离开了公司。如果我禁用/删除他的 AAD 帐户会怎样?我们希望他在 Teams channel 中发送的消息能够被保留。 最佳答案
我想知道是否有人尝试在 TS 和 SVN/CC 之间迁移。 我所说的迁移是指在不丢失历史记录的情况下在源代码控制系统之间导入和导出存储库。 迁移到 VSTS 和从 VSTS 迁移的工具有多好? 我也有
当我尝试连接到 tfs 时,出现以下错误: --------------------------- Microsoft Visual Studio --------------------------
我们在机器人框架上创建了一个机器人,并为 Microsoft Teams channel 启用。在 bot 中,附件功能已启用,用户可以使用 Teams 向 bot 发送文件,并且运行良好。但是从过去
我有一个团队通知机器人,我正在尝试将其上传到团队管理门户。应用程序包上传得很好,但是当转到权限选项卡时,“组织范围权限”下没有用于添加组织范围权限的按钮。 Teams admin missing bu
我是一名优秀的程序员,十分优秀!