Non-npm Usage
If you're on some platform other than npm it doesn't make sense to download auto through npm.
For these situations we package auto for all major operating systems (linux, osx, windows).
Installation
Simply download the appropriate version for your operating system and make it executable.
# Download a platform specific version of auto curl -vkL -o - https://github.com/intuit/auto/releases/download/v10.28.0/auto-linux.gz | gunzip > ~/auto # Make auto executable chmod a+x ~/auto# Download a platform specific version of auto curl -vkL -o - https://github.com/intuit/auto/releases/download/v10.28.0/auto-linux.gz | gunzip > ~/auto # Make auto executable chmod a+x ~/auto
This executable contains all of the official auto plugins so you do not have to download anything extra.
This version of auto uses the git-tag plugins as the default instead of npm.
If you specify any plugins this will be overridden.
Installation via brew (OSX)
If you are on OSX you can install auto with brew.
brew tap intuit/auto https://github.com/intuit/auto brew install autobrew tap intuit/auto https://github.com/intuit/auto brew install auto
Configuration
To configure auto to work with your project you will need to do two things
- Create and configure a
GH_TOKENenvironment variable - Create an
.autorcfor your project
Making an .autorc
Using auto with any other package manager than npm requires that you create an .autorc at the root of your project.
.autorc- No plugins,shipitdoesn't work. Enables advanced setup{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": [] }{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": [] }.autorc-git-tagplugin compatible with any platform. Enablesshipitusage{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": ["git-tag"] }{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": ["git-tag"] }.autorc- With package manager plugin.shipitworks, some configuration picked up from package manager package definition files. In the followingrepo,owner, andauthorare picked up from thepom.xml{ "plugins": ["maven"] }{ "plugins": ["maven"] }
Usage
Now that you have auto all set up you can use all of it's commands!
~/auto shipit~/auto shipit
ℹ️ Tip: Using
autolocally with an.envfile is a great experience. See how here.
Plugins
As stated above, all of the official plugins (the ones included in this repo/docs) are included in the binary version of auto.
However you might want to use an unofficial plugin or even write your own.
Local Plugins
One way to use unofficial plugins in a non-javascript project is to have a directory committed to your project where you store them.
You could:
- Write your own custom plugins and store them in here
- Copy a plugin from the internet
.autorc:
{ "plugins": ["./plugins/custom-plugin.js"] }{ "plugins": ["./plugins/custom-plugin.js"] }
Hosted Plugins
If you want to share your custom plugins between projects then you can host them on some SCM (ex: GitHub).
A plugin just needs to consist of an index.js that implements your plugin. (or it could be as complex as any NPM package)
Edit your CI build to download these plugins when building.
mkdir plugins git clone https://github.com/me/custom-plugin plugins/custom-pluginmkdir plugins git clone https://github.com/me/custom-plugin plugins/custom-plugin
.autorc:
{ "plugins": ["./plugins/custom-plugin"] }{ "plugins": ["./plugins/custom-plugin"] }
NPM Plugins
If distributed via NPM you could install those plugins globally through npm:
npm i -g auto-plugin-my-custom-pluginnpm i -g auto-plugin-my-custom-plugin
.autorc:
{ "plugins": ["my-custom-plugin"] }{ "plugins": ["my-custom-plugin"] }