@4rk/staticpages-cli
v2.0.1
Published
The command-line interface for staticpages mass hosting
Downloads
419
Readme
Staticpages CLI
This is the client-side command line interface for our staticpages backend.
Usage
- Install it using either npm or yarn:
npm install -g @4rk/staticpages-cli
- Create a
.env
file with corresponding parameters as explained in the next section - Run
staticpages-cli
Configuration
Configuration parameters originate using the following precedence:
- Environment variables
- Environment variables placed in a
.env
file - Command line parameters. Check
-h
Available environment variables are:
DEPLOY_KEY
DEPLOY_SERVER
DEPLOY_SRC
How does it work
When running the client, it:
- Loads configuration parameters
- Checks whether the folder
DEPLOY_SRC
exists, otherwise it fails - Retrieves the current git branch using
git rev-parse --abbrev-ref HEAD
- Asks the staticpages API at
DEPLOY_SERVER
usingDEPLOY_KEY
for the WebDAV remote, deploy URL etc - Uploads all files from
DEPLOY_SRC
via rclone - Displays the upload URL
GitLab CI dynamic environment URLs
In order to automatically create a new dynamic environment URL in GitLab after deployment, the CLI automatically creates a file deploy.env
when detecting to be run within GitLab CI. Integration into your pipeline works as follows:
deploy:
script:
- yarn build
- staticpages-cli
artifacts:
reports:
dotenv: deploy.env
environment:
name: review/$CI_COMMIT_REF_SLUG
url: $DEPLOYMENT_URL
on_stop: delete_deploy
auto_stop_in: 2 weeks
# delete deployment on environment stop
delete_deploy:
script:
- "staticpages-cli --delete"
when: manual
environment:
name: review/$CI_COMMIT_REF_SLUG
action: stop
See also Set dynamic environment URLs after a job finishes.
Other modes
There is a --delete
mode that removes the deployment from the remote.
There is a --debug
mode to enable verbose logging.
License
See LICENSE