@4rk/staticpages-cli
v2.0.1
Published
The command-line interface for staticpages mass hosting
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
.envfile 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
.envfile - Command line parameters. Check
-h
Available environment variables are:
DEPLOY_KEYDEPLOY_SERVERDEPLOY_SRC
How does it work
When running the client, it:
- Loads configuration parameters
- Checks whether the folder
DEPLOY_SRCexists, otherwise it fails - Retrieves the current git branch using
git rev-parse --abbrev-ref HEAD - Asks the staticpages API at
DEPLOY_SERVERusingDEPLOY_KEYfor the WebDAV remote, deploy URL etc - Uploads all files from
DEPLOY_SRCvia 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: stopSee 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
