sgapps-server
Version:
SGApps Network Server
103 lines (94 loc) • 3.49 kB
YAML
variables:
GIT_REPO_URL: "git@github.com:sgappsio/sgapps-server.git"
stages:
- reposync
- publish
- deploy
pages:
stage: deploy
script:
- mkdir .public
- cp -r documentation/* .public
- mv .public public
artifacts:
paths:
- public
only:
- master
image:
name: ubuntu:latest
entrypoint: []
before_script:
- apt update -y > /dev/null
- apt install -y wget git > /dev/null
- wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash
- export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
- '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'
- nvm install --no-progress 10.17.0 > /dev/null
- npm install
repo_sync_github:
stage: reposync
only:
- /^(master|v\d.*)$/
before_script:
- 'which ssh-agent || ( apt-get update -y > /dev/null && apt-get install openssh-client -y > /dev/null)'
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- echo "$NPM_RC" > ~/.npmrc
- echo "$SSH_CONFIG" > ~/.ssh/config
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- echo "$SSH_PUBLIC_KEY" > ~/.ssh/id_rsa.pub
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/config
- chmod 600 ~/.ssh/id_rsa
- chmod 644 ~/.ssh/id_rsa.pub
- apt install -y git wget > /dev/null
- wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash > /dev/null
- export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
- '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'
- nvm install --no-progress 10.17.0 > /dev/null
- git config --global user.email "noreply+opensource-bot@sgapps.io"
- git config --global user.name "🤖 opensource-bot@sgapps.io"
script:
- ssh -T git@labs.sgapps.io || echo "done"
- ssh -T git@github.com || echo "done"
- mkdir _repo
- git clone "$CI_REPOSITORY_URL" _repo
- cd _repo
- git remote add origin-github "$GIT_REPO_URL"
- git push origin-github master
npm_publish:
stage: publish
only:
- /^v\d.*$/
except:
- branches
before_script:
- 'which ssh-agent || ( apt-get update -y > /dev/null && apt-get install openssh-client -y > /dev/null)'
- eval $(ssh-agent -s)
- mkdir -p ~/.ssh
- echo "$NPM_RC" > ~/.npmrc
- echo "$SSH_CONFIG" > ~/.ssh/config
- echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
- echo "$SSH_PUBLIC_KEY" > ~/.ssh/id_rsa.pub
- chmod 700 ~/.ssh
- chmod 600 ~/.ssh/config
- chmod 600 ~/.ssh/id_rsa
- chmod 644 ~/.ssh/id_rsa.pub
- apt install -y git wget > /dev/null
- wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.1/install.sh | bash > /dev/null
- export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
- '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm'
- nvm install --no-progress 10.17.0 > /dev/null
- git config --global user.email "noreply+opensource-bot@sgapps.io"
- git config --global user.name "🤖 opensource-bot@sgapps.io"
script:
- ssh -T git@labs.sgapps.io || echo "done"
- ssh -T git@github.com || echo "done"
- mkdir _repo
# - git clone --depth 1 "$CI_REPOSITORY_URL" _repo
- git clone "$CI_REPOSITORY_URL" _repo
- cd _repo
- git remote add origin-github "$GIT_REPO_URL"
- git push --tags origin-github
- npm publish