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 auto
brew 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_TOKEN
environment variable - Create an
.autorc
for 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,shipit
doesn't work. Enables advanced setup{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": [] }
{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": [] }
.autorc
-git-tag
plugin compatible with any platform. Enablesshipit
usage{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": ["git-tag"] }
{ "author": "Andrew Lisowski <lisowski54@gmail.com>", "plugins": ["git-tag"] }
.autorc
- With package manager plugin.shipit
works, some configuration picked up from package manager package definition files. In the followingrepo
,owner
, andauthor
are 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
auto
locally with an.env
file 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-plugin
mkdir 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-plugin
npm i -g auto-plugin-my-custom-plugin
.autorc
:
{ "plugins": ["my-custom-plugin"] }
{ "plugins": ["my-custom-plugin"] }