目录

Git授权外部引用案例

针对需要远程代码执行、外部授权资源访问及Gogs相关的使用方法说明。

1. 概述


在工作中,我们使用Gogs进行Git的管理工作。以后是公司内部使用,一般情况下是不开放注册了。所以创建好的仓库,均无法在外部访问。必须通过登录进行。

本篇讲述如何在Shell脚本作其他的命令方式,在不使用人机交互的方式下,进行仓库的克隆及文件的访问等。

2. 克隆操作(git clone)


以下操作将git指定的仓库克隆至本目录下:

1
git clone http://username:password@git.xx.com/junbo/xx.git .

注意:usernamepassword 为实际的用户名和密码。

3. 远程获取数据并执行


有的时候,我们会在仓库内放置一些文档,例如:txt、shell等格式的文件。最常用的例如Shell脚本、Python的requirements.txt文档等。

使用以下方法可以直接获取文件的内容:

1
curl http://username:password@git.xx.com/junbo/xx/raw/master/xx.txt

一般情况下,文档的路径,可以在Gogs内获取,如图所示:

/images/git-authorizes-external-reference-cases-2.png

【原始文件】按钮点击后可以获取到实际的地址

使用以下命令即可直接执行远程Shell脚本:

1
curl http://username:password@git.xx.com/junbo/xx/raw/master/test.sh | bash

使用举例:

1
2
# 使用pip安装依赖环境
pip install -r http://username:name@git.xx.com/junbo/junbo-bee-worker/raw/master/requirements.txt
安全注意
由于用户名与密码均为明文,请创建独立的受限的用户做外部资源的引用。

4. 小结


本章主要针对如何通过用户名密码的方式进行授权拿到Gogs等类似具有授权性质网站的实际内容。在实际的工作中,我们常常需要有一个外部访问的方式,使用该方法可以快速实现这一过程。

5. 引用


  1. 使用cURL和用户名和密码?