我的 Gitlab 存储库中的 Web 访问 HTML 文件

Posted

技术标签:

【中文标题】我的 Gitlab 存储库中的 Web 访问 HTML 文件【英文标题】:Web access HTML file in my Gitlab repo 【发布时间】:2014-06-12 19:31:18 【问题描述】:

我想使用Gitlab 来管理Web 应用程序开发。是否可以从浏览器访问我在Gitlab repo 中创建的html 文件?

目前有ssh/http url 用于访问repo,例如:

ssh: git@something.some.ca:balbal/web-app.git   
http: (ht tps://something.some.ca:balbal/web-app.git)

当我从浏览器访问https 时,它只会跳转到 git repo 管理 UI(例如向您显示所有提交、分支和详细文件)

我想要的是对我在我的存储库中创建的特定 html 文件的 Web 访问(例如,如果在我的存储库中名为“www”的文件夹中有一个 index.html 文件)。我想要一些可以在浏览器中输入的 URL,它将显示 index.html 内容。 我可以设置对这些html 文件的网络访问吗?

【问题讨论】:

您是要在代码中访问索引 html 还是要渲染页面?如果您只想查看代码,可以使用您的 repo 页面上的 raw 按钮提供的链接 我想渲染出来@ShaRanShade 如果我想渲染它,我认为需要一个网络服务器吗?那么问题就变成了如何设置web服务器和gitlab repo之间的连接...@ShaRanShade 对不起,我很忙。经过一番搜索,我认为可以让 github 托管您的索引页面。这篇文章可能有你想要的。 blog.teamtreehouse.com/using-github-pages-to-host-your-website @user3735448 你能接受我的回答吗,因为它应该适合你? 【参考方案1】:

目前,Gitlab 不支持此功能。对此有一个功能请求:http://feedback.gitlab.com/forums/176466-general/suggestions/5599145-preview-render-static-html-pages-pushed-to-repos

目前,如果您在 Gitlab 中查询原始 html 文件,它会设置某些 HTTP 标头以使其呈现为 text/plain:

$ curl -I http://my-gitlab/user/project/raw/dev/doc/_book/index.html
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 20 Apr 2015 13:17:48 GMT
Content-Type: text/plain; charset=utf-8
Connection: keep-alive
Status: 200 OK
X-Frame-Options: DENY
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-UA-Compatible: IE=edge
Content-Disposition: inline; filename="index.html"
Content-Transfer-Encoding: binary
Cache-Control: private
ETag: "b81191c550c47eae1ab4adf72dfd0c92"
Set-Cookie: request_method=HEAD; path=/
X-Request-Id: 04ae0499-2fdf-4f89-82ab-8392a8d6a076
X-Runtime: 0.019857

【讨论】:

【参考方案2】:

幸运的是,GitLab 10.1 现在正式支持在线显示 HTML 文件。

有关详细信息,请参阅documentation。

在 GitLab 10.1 中,我们引入了由管道为公共项目创建的 HTML 文件的在线可视化,只需单击工件浏览器视图即可。

【讨论】:

嗯......今天在 gitlab.com 上似乎不起作用:-(【参考方案3】:

您必须在项目的根目录中添加一个名为 .gitlab-ci.yml 的文件,其中包含

pages:
 script:
 - mkdir .public
 - cp -r * .public
 - mv .public public
 artifacts:
    paths:
    - public
 only:
 - master

然后在那里访问您的文件:https://gitlab.org/project-name/filename.html

来源:https://roneo.org/en/framagit-render-html/

更新:另见项目raw.githack

【讨论】:

【参考方案4】:

为了快速调试/测试目的,您可以使用 FireFox PourBico 插件。

Change the response header 转文本/html

避免在公共 GitLab 上执行此操作,在您自己的 GitLab 部署中执行此操作,GitLab 不应该像这样被黑客入侵。

另见Github pages, HTTP headers

【讨论】:

【参考方案5】:

对于 Chrome,可以使用诸如Header Hacker 之类的扩展名,并通过更改浏览器中的内容类型来设置标题以呈现 HTML。正如 Christophe Roussy 所提到的,这是一个 hack,您应该有充分的理由这样做。

【讨论】:

以上是关于我的 Gitlab 存储库中的 Web 访问 HTML 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将存储库中的文件复制到用于作业的 Docker 容器中,在 gitlab-ci.yml

我应该将我的 Nuxt 应用程序直接部署到 Google App Engine 还是应该在我的代码存在于存储库中的地方使用 Gitlab CI/CD?

如何在GitLab存储库中删除Tag

如何在 gitlab 存储库中下载单个文件夹或文件

从私有 gitlab 存储库中使用 npm 安装依赖项

Jenkins:如果我们在两个不同的 GitLab 存储库中有代码,我们可以进行“持续集成”吗?