Update .gitlab-ci.yml to new build deployment system

This commit is contained in:
Joel Collins 2019-08-22 10:19:06 +00:00
parent 563fe0f6f0
commit b72a652b1f

View file

@ -1,6 +1,6 @@
stages: stages:
- build - build
- meta - deploy
# Cache modules in between jobs # Cache modules in between jobs
cache: cache:
@ -8,71 +8,44 @@ cache:
paths: paths:
- node_modules/ - node_modules/
# Basic webapp build
build:
stage: build
image: electronuserland/builder:wine
script:
- npm install
- npm run build:web
artifacts:
name: "build"
paths:
- dist/
only:
- stable
- tags
- web
# Electron app build # Electron app build
package: build:
stage: build stage: build
image: electronuserland/builder:wine image: electronuserland/builder:wine
script: script:
- npm install - npm install
- npm run build:app - npm run build:app
- npm run release - npm run release
- shopt -s extglob
- mv ./release-builds/*.AppImage .
- mv ./release-builds/*.deb .
- mv ./release-builds/*.exe .
- mv ./release-builds/*.exe.blockmap .
- mv ./release-builds/?(beta*.yml|latest*.yml) .
artifacts: artifacts:
name: "dist" name: "dist"
expire_in: 1 hour
paths: paths:
- "*.AppImage" - "./release-builds/*.AppImage"
- "*.deb" - "./release-builds/*.exe"
- "*.exe" - "./release-builds/*.exe.blockmap"
- "*.exe.blockmap" - "./release-builds/latest*.yml"
- "latest*.yml" - "./release-builds/beta*.yml"
- "beta*.yml"
only: only:
- web
- stable - stable
- tags - tags
- web
# Create a nupkg file for Choco package manager # Deploy to builds.openflexure.org
meta:choco: deploy:
stage: meta stage: deploy
dependencies: dependencies:
- package - build
image: patrickhuber/choco-linux image: ubuntu:latest
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY_BASE64" | base64 --decode)
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
script: script:
- chmod +x ./app/make-nupkg.sh - 'which rsync || ( apt-get update -y && apt-get install rsync -y )'
- ./app/make-nupkg.sh - rsync -hrvz -e ssh release-builds/ ci-user@openflexure.bath.ac.uk:/var/www/build/openflexure-ev/
- cd ./release-builds/choco - ssh -t ci-user@openflexure.bath.ac.uk "/var/www/build/update-latest.py"
- choco pack
- cd ../../
- mv ./release-builds/choco/openflexure-ev.nuspec .
- mv ./release-builds/choco/*.nupkg .
- mv ./release-builds/choco/tools .
artifacts:
name: "openflexure-ev-choco-nupkg"
paths:
- ./openflexure-ev.nuspec
- tools/chocolateyInstall.ps1
- ./*.nupkg
only: only:
- tags - web
- stable