从 GitHub 上获取文件内容

我依稀记得 Java 的 Spring Cloud 中有一个重要的部分就是集中配置:

如图所示,将后台服务的配置文件集中存储于远程的GitHub库,然后通过配置服务去拉取库中的配置信息,而不同的微服务则统一通过配置服务获取其需要的配置信息。

集中配置有什么好处? 假设我们后台的三个应用程序都是操作同一个数据库,而某一天这个数据库的账号密码被修改了或者干脆迁移到了另一个库,如果没有集中配置我们就不得不在每一个程序中修改数据库的配置,反之,如果使用了集中配置的方式,我们就只需要修改一次配置文件即可。

当然GitHub作为一个开放的平台用来存储配置文件完全没问题,而存储了之后怎么读取呢,这才是我想说的内容,也是本文的标题:从 GitHub 上获取文件内容。

01

Developer API

如何从 GitHub 上获取文件内容,我的第一反应是爬虫啊,地址都知道直接爬就行了嘛,没错,爬虫没问题啊,但是爬下来还需要额外去抓取指定标签才能获取到你想要的内容,而直接使用GitHub提供的 API 接口显然更方便。

这里我们使用 REST API v3 版本,地址:https://developer.github.com/v3/ 。

获取指定库中文件内容的接口文档:

示例:

上述内容对公开库没问题,但是如果是私有库呢,我们就必须加上认证信息了。

02

私有库认证

私有库操作必须经过认证,而对于认证,最基础的 Basic Authentication,也就是输入用户名和密码:

然而,这种明文的用户名和密码显然不够安全。

那么有没有一种更适合的认证方式呢,当然有啊! GitHub 有另一种专门的认证方式:Personal Access Token 。

为此,我们需要进入 settings -> Developer settings ->Personal access tokens 进行配置:

点击创建新的tokens,填写描述信息,并添加 repo 的操作权限:

成功创建后生成 token(红色注掉的字符串):

图示中我创建了一个 config for mysql 的 token,对私有库操作时只需要加上这个 token 就可以进行认证了:

上述 token 是可以随时更新和删除的,显然更好用。

本文简单描述了如何从 GitHub 上获取文件内容,完。

本文来自企鹅号 - Node全栈开发者媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java达人

mac上nginx+jetty负载均衡部署一览

曾经在windows上进行编程,因为linux系统在服务器端应用比较广泛,专门学了shell脚本,在笔记本上装过一个deepin(linux发行版)进行开发,d...

2085
来自专栏ionic3+

【技巧】ionic3添加第三方js

网上应该有资料吧?对于封装成angular2+的模块,直接import就行了,反之的第三方js,其实也很简单,一般不用考虑js的模块规范(如CommonJS,A...

1024
来自专栏轮子工厂

win10/win8换win7教程

重做系统相信很多小伙伴都get到了这个技能,U启动、大白菜、Ghost安装器…blablabla…一大堆。很多方法都可以帮助你重新换一个系统,但是在预装win8...

633
来自专栏漏斗社区

Java代码审计| Spring框架思路篇

相信小伙伴们通过Java代码审计入门篇对Java的环境和工具有了一定的了解,重点掌握了Tomcat部署使用、IDEA部署WEB项目与调试、Maven项目管理工具...

1242
来自专栏九彩拼盘的叨叨叨

用 npm scripts 来构建前端项目的尝试

最近读了 Why I Left Gulp and Grunt for npm Scripts。读完后,觉的这文章写的相当不错,就决定尝试下。

582
来自专栏WindCoder

网易MySQL微专业学习笔记(三)-Mysql权限管理

这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL数据库对象与应用”中的MySQL数据类型相关笔记。

461
来自专栏cmazxiaoma的架构师之路

MyEclipse使用Git进行Push to Upstream报错 学习笔记

802
来自专栏技术博文

php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)

虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,...

39210
来自专栏图像识别与深度学习

Android保存日志记录到sd卡的文件中

2467
来自专栏刺客博客

ssr中多端口详解

1944

扫码关注云+社区