def cli(username, repository, path, password, deploy, env):
"""Encrypt passwords and environment variables for use with Travis CI.
Travis Encrypt requires as arguments the user's GitHub username and repository name.
Once the arguments are passed, a password prompt will ask for the password that needs
to be encrypted. The given password will then be encrypted via the PKCS1v15 padding
scheme and printed to standard output. If the path to a .travis.yml file
is given as an argument, the encrypted password is added to the .travis.yml file.
"""
key = retrieve_public_key('{}/{}' .format(username, repository))
encrypted_password = encrypt_key(key, password.encode())
if path:
config = load_travis_configuration(path)
if deploy:
config.setdefault('deploy', {}).setdefault('password', {})['secure'] = encrypted_password
elif env:
config.setdefault('env', {}).setdefault('global', {})['secure'] = encrypted_password
else:
config.setdefault('password', {})['secure'] = encrypted_password
dump_travis_configuration(config, path)
print('Encrypted password added to {}' .format(path))
else:
print('\nPlease add the following to your .travis.yml:\nsecure: {}' .format(encrypted_password))
评论列表
文章目录