pypi 包装和秘密:为什么 github--intended .travis.yml 持有密码?
pypi packaging and secrets: why does a github--intended .travis.yml hold a password?
我一直都明白秘密的第一条规则是让它们远离 public 源代码控制。
所以,我正准备将新包上传到 pypi。
在.travis.yml中我看到:
deploy:
provider: pypi
distributions: sdist bdist_wheel
user: mysuser
password:
secure: PLEASE_REPLACE_ME
on:
tags: true
repo: myuser/pynoorm
condition: $TOXENV == py27
很公平,我想我忘了更换它。
但是...真正令人费解的部分是当我在 github 上随机选择 .travis.yml 并且它有:
ANzomjrVPkzLO7MG9Zekl1Tz/Gxxx ... HmSQ3GRNPHMIRqf1xle+8/0IwDBuC/eTsOkit7WU1j9lgurCj8snXuTLUVEqf/SecAcLpmLrelRFvz//ZcOopIbwD66RJWT8pYGBH/L3MMIDFj1bIf0UIpXdBXgeTJhxW054+BhdFPGI66IvWU/kOlOcE606wqRqI9bdvop34OewJFnOQ9El...71dROWO4ETzz1wGXmO0dTVfCWMbqk7dT8OPft+tHsWWJqqeCEL3wj1uYEIYpCwLo9oSyVXwrhzRW0dysZfTCx/XfDaws3eFA6iMg6dUoBt12kwGZ5vCbgjBwPOmQrRMUEmYoyZz8n20HKojoxzUpwueFN/nbLv76arJbN8bLeb/GyE6r1Rw0DEzs8f0fBtv5agUnIpMh6EPOFYN4rwHMxt52HU7BB/Kg=
向要上传到 github 的文件添加 安全密码 有什么意义?它有什么作用?我认为通常的过程是登录 github 然后 link 你的帐户到 travis。在这种情况下,两种服务都应该知道如何对您进行身份验证,如果您登录了任一服务,则无需通过 public 设置文件中的密码。
dangerous/sensitive github travis 配置的这个特定部分如何?
我可以没有它吗?
最初的 pypi 包文件是用 CookieCutter cookiecutter-pypackage 生成的。
存储库的 .travis.yml
文件可以有 "encrypted values",例如环境变量、通知设置和部署 API 密钥。任何人都可以添加这些加密值,但只能由 Travis CI.
读取
这就是 secure:
字段名称所表示的。将这些加密值包含在您的 .travis.yml
中是安全的,将它们上传到 Github 也是安全的。
您可以通过安装 travis
gem 和 运行 来生成安全值:
$ gem install travis
$ travis encrypt "secretvalue"
<encrypted string>
我一直都明白秘密的第一条规则是让它们远离 public 源代码控制。
所以,我正准备将新包上传到 pypi。
在.travis.yml中我看到:
deploy:
provider: pypi
distributions: sdist bdist_wheel
user: mysuser
password:
secure: PLEASE_REPLACE_ME
on:
tags: true
repo: myuser/pynoorm
condition: $TOXENV == py27
很公平,我想我忘了更换它。
但是...真正令人费解的部分是当我在 github 上随机选择 .travis.yml 并且它有:
ANzomjrVPkzLO7MG9Zekl1Tz/Gxxx ... HmSQ3GRNPHMIRqf1xle+8/0IwDBuC/eTsOkit7WU1j9lgurCj8snXuTLUVEqf/SecAcLpmLrelRFvz//ZcOopIbwD66RJWT8pYGBH/L3MMIDFj1bIf0UIpXdBXgeTJhxW054+BhdFPGI66IvWU/kOlOcE606wqRqI9bdvop34OewJFnOQ9El...71dROWO4ETzz1wGXmO0dTVfCWMbqk7dT8OPft+tHsWWJqqeCEL3wj1uYEIYpCwLo9oSyVXwrhzRW0dysZfTCx/XfDaws3eFA6iMg6dUoBt12kwGZ5vCbgjBwPOmQrRMUEmYoyZz8n20HKojoxzUpwueFN/nbLv76arJbN8bLeb/GyE6r1Rw0DEzs8f0fBtv5agUnIpMh6EPOFYN4rwHMxt52HU7BB/Kg=
向要上传到 github 的文件添加 安全密码 有什么意义?它有什么作用?我认为通常的过程是登录 github 然后 link 你的帐户到 travis。在这种情况下,两种服务都应该知道如何对您进行身份验证,如果您登录了任一服务,则无需通过 public 设置文件中的密码。
dangerous/sensitive github travis 配置的这个特定部分如何?
我可以没有它吗?
最初的 pypi 包文件是用 CookieCutter cookiecutter-pypackage 生成的。
存储库的 .travis.yml
文件可以有 "encrypted values",例如环境变量、通知设置和部署 API 密钥。任何人都可以添加这些加密值,但只能由 Travis CI.
这就是 secure:
字段名称所表示的。将这些加密值包含在您的 .travis.yml
中是安全的,将它们上传到 Github 也是安全的。
您可以通过安装 travis
gem 和 运行 来生成安全值:
$ gem install travis
$ travis encrypt "secretvalue"
<encrypted string>