Git授权外部引用案例
针对需要远程代码执行、外部授权资源访问及Gogs相关的使用方法说明。
1. 概述
在工作中,我们使用Gogs进行Git的管理工作。以后是公司内部使用,一般情况下是不开放注册了。所以创建好的仓库,均无法在外部访问。必须通过登录进行。
本篇讲述如何在Shell脚本作其他的命令方式,在不使用人机交互的方式下,进行仓库的克隆及文件的访问等。
2. 克隆操作(git clone)
以下操作将git指定的仓库克隆至本目录下:
git clone http://username:password@git.xx.com/xxx/xx.git .
注意:username
与 password
为实际的用户名和密码。
3. 远程获取数据并执行
有的时候,我们会在仓库内放置一些文档,例如:txt、shell等格式的文件。最常用的例如Shell脚本、Python的requirements.txt文档等。
使用以下方法可以直接获取文件的内容:
curl http://username:password@git.xx.com/xxx/xx/raw/master/xx.txt
一般情况下,文档的路径,可以在Gogs内获取,如图所示:
【原始文件】按钮点击后可以获取到实际的地址
使用以下命令即可直接执行远程Shell脚本:
curl http://username:password@git.xx.com/xxx/xx/raw/master/test.sh | bash
使用举例:
# 使用pip安装依赖环境
pip install -r http://username:name@git.xx.com/xxx/xxx/raw/master/requirements.txt
由于用户名与密码均为明文,请创建独立的受限的用户做外部资源的引用。
4. 小结
本章主要针对如何通过用户名密码的方式进行授权拿到Gogs等类似具有授权性质网站的实际内容。在实际的工作中,我们常常需要有一个外部访问的方式,使用该方法可以快速实现这一过程。