我的 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?