Skip to main content

Encrypt passwords for use with Travis CI.

Project description

header.png

travis coverage format version license pyversions implementation status

Travis Encrypt is a Python command line application that provides an easy way to encrypt passwords and environment variables for use with Travis CI. All passwords and environment variables are encrypted with the PKCS1v15 padding scheme as it’s the only padding supported by Travis CI.

Installation

To install Travis Encrypt simply run the following command in a terminal window:

$  pip install travis-encrypt

If you would rather install from source, run the following commands in a terminal window:

$  git clone https://github.com/mandeep/Travis-Encrypt.git
$  cd Travis-Encrypt
$  python setup.py install

Travis Encrypt will attempt to install the cryptography package, however the package requires development packages for C and Python. If installation fails, please see the cryptography installation guide: https://cryptography.io/en/latest/installation/

Usage

With Travis Encrypt installed, the command line application can be invoked with the following command and arguments:

usage: travis-encrypt [options] github_username repository [path]

positional arguments:
    github_username         GitHub username that houses the repository
    repository              Name of the repository whose password requires encryption
    path                    Path to the repository's .travis.yml file

optional arguments:
    --help                  Show the help message and quit
    --deploy                Encrypt a password for continuous deployment usage
    --env                   Encrypt an environment variable
    --clipboard             copy the encrypted password to the clipboard
    --env-file PATH         Path for a .env file containing variables to encrypt
    --private               Use the travis-ci.com API endpoint for private repositories
    --token TEXT            Authenticate the API request with a travis-ci token.

When the command is entered, the application will issue a prompt where the user can enter either a password or environment variable. In both cases, the prompt will print ‘Password:’. Once the prompt is answered, Travis Encrypt will print the encrypted password to standard output. If a path to .travis.yml is provided the encrypted password will be written to .travis.yml instead of printing to standard output.

Example of password encryption (the password is hidden when entering):

$  travis-encrypt mandeep Travis-Encrypt
Password:
Please add the following to your .travis.yml:

secure: "oxTYla2fHNRRjD0akv1e..." (edited for brevity)

Example of deployment password encryption:

$  travis-encrypt --deploy mandeep Travis-Encrypt /home/user/.travis.yml
Password:
Encrypted password added to /home/user/.travis.yml

Example of encrypting the environment variable API_TOKEN=”abc123”:

$  travis-encrypt --env mandeep Travis-Encrypt /home/user/.travis.yml
Password:
Encrypted password added to /home/user/.travis.yml

Example of using a .env file:

$  travis-encrypt --env-file /home/user/my.env mandeep Travis-Encrypt /home/user/.travis.yml
Encrypted variables from /home/user/my.env added to /home/user/.travis.yml

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

travis-encrypt-1.4.0.tar.gz (7.0 kB view details)

Uploaded Source

Built Distributions

travis_encrypt-1.4.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

travis_encrypt-1.4.0-py2-none-any.whl (9.5 kB view details)

Uploaded Python 2

File details

Details for the file travis-encrypt-1.4.0.tar.gz.

File metadata

  • Download URL: travis-encrypt-1.4.0.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/2.7.15

File hashes

Hashes for travis-encrypt-1.4.0.tar.gz
Algorithm Hash digest
SHA256 a5de1caa10954cbe031ef17e2b542fbf838f20f041eb9d0056a31c5b922ddea1
MD5 913f9960539c7751d68023c0f4c8f01c
BLAKE2b-256 94ba452a4ee6ef0a5ae2bbee3cbc8ae5f58bb0ad02c3e809d69de01199e7c696

See more details on using hashes here.

File details

Details for the file travis_encrypt-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: travis_encrypt-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.6

File hashes

Hashes for travis_encrypt-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc57c657818cfcfb11280067ff0c04492777412dfa2140f3302d03e181c5e373
MD5 c5749e712338bf904593c1efc823211e
BLAKE2b-256 6aba2cf100dd588af8e1b09267a6b4132adc8a43d69ecc21c33c313052077bf7

See more details on using hashes here.

File details

Details for the file travis_encrypt-1.4.0-py2-none-any.whl.

File metadata

  • Download URL: travis_encrypt-1.4.0-py2-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/2.7.15

File hashes

Hashes for travis_encrypt-1.4.0-py2-none-any.whl
Algorithm Hash digest
SHA256 292d20337e64c7a13f5397ee336aa4dadf0d11251fca68c57613d0c0032592ed
MD5 99838e4e377d7d6810c26304f54089fd
BLAKE2b-256 7bf6ca64e5acf0251f1c25d1e5caed28df2c37c0b8ac63aed437faaccd446f0c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page