I have written a small Vue app and have been looking for a nice way to automate its deployment, i.e. call lint -> test -> build -> upload to some web space (stage and /or production) (sftp). Basically a simple CI/CD pipeline.
I looked a task runners such as grunt (seems to be a bit outdated and the docs didn't help me much) and gulp (see also this answer) and also thought of defining a npm script. CI tools such as Jenkins seem to be a bit oversized with some work to setup.
The npm script would probably be the simples solution, especially as I could simply chain lint / test / build:
{
"scripts": {
"build": "vue-cli-service build --modern",
"lint": "vue-cli-service lint",
"prettier": "prettier --write src/**/*.{ts,js,vue,css,less,scss,html,json,md} public/**/*.{ts,js,vue,css,less,scss,html,json,md} test/**/*.{js,vue,css,less,scss,html,json,md} build/*.js",
"deploy": "# ...?",
"pipeline": "yarn lint && yarn prettier && yarn test && yarn build && yarn deploy"
},
However, I've no good idea yet for an easy way to deploy the build to my web server. For grunt I found some tasks that might fit (grunt-rsync, grunt-sftp-deploy). But grunt doesn't seem to be the first choice nowadays.
Does anyone have any recommendations or suggestions?
Additional info: I'm using Windows and I don't want to publish my source (in this case) on github.