2021-10-27 20:15:27 -04:00
|
|
|
kind: pipeline
|
|
|
|
type: kubernetes
|
|
|
|
name: default
|
|
|
|
|
|
|
|
concurrency:
|
|
|
|
limit: 1
|
|
|
|
|
|
|
|
environment:
|
|
|
|
SPT_ITEMS_PATH: /var/www/html/aki/spt-item-api
|
|
|
|
|
|
|
|
trigger:
|
|
|
|
event:
|
|
|
|
- push
|
2021-10-27 21:51:41 -04:00
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
- main
|
|
|
|
- development
|
2021-10-27 20:15:27 -04:00
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: fetch and update submodules to the latest commit
|
|
|
|
image: alpine/git
|
|
|
|
commands:
|
|
|
|
- git submodule init
|
|
|
|
- git submodule update --recursive --remote
|
|
|
|
|
|
|
|
- name: replace hosts and user variables
|
|
|
|
image: ubuntu:impish
|
|
|
|
environment:
|
|
|
|
DEPLOY_HOST:
|
|
|
|
from_secret: deploy_host
|
|
|
|
SPT_HOSTNAME:
|
|
|
|
from_secret: spt_hostname
|
|
|
|
DEPLOYMENT_USER:
|
|
|
|
from_secret: deploy_username
|
|
|
|
commands:
|
2021-10-27 20:20:51 -04:00
|
|
|
- sed -i 's/{{ SPT_HOSTNAME }}/'"$SPT_HOSTNAME"'/g' ./items/frontend/.env.example
|
|
|
|
- mv ./items/frontend/.env.example ./items/frontend/.env
|
2021-10-27 20:17:14 -04:00
|
|
|
- sed -i 's/{{ DEPLOY_HOST }}/'"$DEPLOY_HOST"'/g' ./.ansible-items/inventory
|
|
|
|
- sed -i 's/{{ DEPLOYMENT_USER }}/'"$DEPLOYMENT_USER"'/g' ./.ansible-items/inventory
|
2021-10-27 21:51:41 -04:00
|
|
|
when:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
- main
|
|
|
|
- development
|
2021-10-27 20:15:27 -04:00
|
|
|
|
|
|
|
- name: build frontend
|
|
|
|
image: node:lts-alpine3.14
|
|
|
|
commands:
|
|
|
|
- node -v
|
|
|
|
- npm -v
|
|
|
|
- yarn --version
|
2021-10-27 20:17:14 -04:00
|
|
|
- yarn --cwd ./items/frontend install
|
|
|
|
- yarn --cwd ./items/frontend build --pure-lockfile
|
|
|
|
- rm -rf ./items/api/public/static/*
|
|
|
|
- mv ./items/frontend/build/* ./items/api/public
|
|
|
|
- rm ./items/api/public/index.html
|
2021-10-27 21:51:41 -04:00
|
|
|
when:
|
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
- main
|
|
|
|
- development
|
2021-10-27 20:15:27 -04:00
|
|
|
|
|
|
|
- name: check ansible syntax
|
|
|
|
image: plugins/ansible:3
|
|
|
|
settings:
|
2021-10-27 20:17:14 -04:00
|
|
|
playbook: ./.ansible-items/playbook.yml
|
|
|
|
inventory: ./.ansible-items/inventory
|
|
|
|
galaxy: ./.ansible-items/requirements.yml
|
2021-10-27 20:15:27 -04:00
|
|
|
syntax_check: true
|
|
|
|
- name: apply ansible playbook
|
|
|
|
image: plugins/ansible:3
|
|
|
|
settings:
|
2021-10-27 20:17:14 -04:00
|
|
|
playbook: ./.ansible-items/playbook.yml
|
|
|
|
inventory: ./.ansible-items/inventory
|
|
|
|
galaxy: ./.ansible-items/requirements.yml
|
2021-10-27 20:15:27 -04:00
|
|
|
private_key:
|
|
|
|
from_secret: deploy_ssh_key
|
|
|
|
environment:
|
|
|
|
DEPLOY_HOST:
|
|
|
|
from_secret: deploy_host
|
|
|
|
SPT_HOSTNAME:
|
|
|
|
from_secret: spt_hostname
|
|
|
|
DEPLOYMENT_USER:
|
|
|
|
from_secret: deploy_username
|
|
|
|
when:
|
2021-10-27 21:51:41 -04:00
|
|
|
branch:
|
|
|
|
- master
|
|
|
|
- main
|