2022-04-15 02:47:27 +00:00
|
|
|
stages:
|
|
|
|
- build
|
2022-04-15 18:39:51 +00:00
|
|
|
- test
|
2022-04-20 13:19:25 +00:00
|
|
|
- deploy
|
2022-04-15 02:47:27 +00:00
|
|
|
|
2022-04-15 19:13:00 +00:00
|
|
|
buiild job:
|
2022-04-15 02:47:27 +00:00
|
|
|
stage: build
|
2022-04-15 03:31:48 +00:00
|
|
|
image: python:3-buster
|
2022-04-15 02:47:27 +00:00
|
|
|
script:
|
|
|
|
- export PYTHONPATH=.
|
|
|
|
- export FLASK_APP=period
|
2022-04-15 03:10:52 +00:00
|
|
|
- apt-get update -qy
|
2022-04-15 02:47:27 +00:00
|
|
|
- apt-get install -y python3-dev python3-pip
|
2022-04-15 03:27:13 +00:00
|
|
|
- pip3 install --upgrade pip
|
2022-04-15 03:25:48 +00:00
|
|
|
- pip3 install --upgrade setuptools
|
2022-04-15 03:24:16 +00:00
|
|
|
- pip3 install Flask gunicorn pytest pytest-cov
|
2022-04-15 18:07:35 +00:00
|
|
|
- pip3 install pendulum
|
2022-04-15 18:51:02 +00:00
|
|
|
|
2022-04-15 19:13:00 +00:00
|
|
|
test job:
|
2022-04-15 18:39:51 +00:00
|
|
|
stage: test
|
2022-04-15 19:13:00 +00:00
|
|
|
image: python:3-buster
|
2022-04-15 18:39:51 +00:00
|
|
|
script:
|
|
|
|
- export PYTHONPATH=.
|
|
|
|
- export FLASK_APP=period
|
|
|
|
- apt-get update -qy
|
|
|
|
- apt-get install -y python3-dev python3-pip
|
|
|
|
- pip3 install --upgrade pip
|
|
|
|
- pip3 install --upgrade setuptools
|
|
|
|
- pip3 install Flask gunicorn pytest pytest-cov
|
|
|
|
- pip3 install pendulum
|
2022-04-15 18:44:32 +00:00
|
|
|
- pytest tests --cov --cov-report term --cov-report html --junitxml=report.xml
|
|
|
|
artifacts:
|
|
|
|
when: always
|
|
|
|
reports:
|
2022-04-15 19:13:00 +00:00
|
|
|
junit: report.xml
|
2022-04-20 13:19:25 +00:00
|
|
|
|
|
|
|
deploy-period:
|
|
|
|
stage: deploy
|
|
|
|
environment: production
|
2022-04-20 13:23:31 +00:00
|
|
|
image: debian:buster
|
2022-04-20 14:18:01 +00:00
|
|
|
before_script:
|
|
|
|
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
|
|
|
|
- eval $(ssh-agent -s)
|
|
|
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
|
|
|
- mkdir -p ~/.ssh
|
|
|
|
- chmod 700 ~/.ssh
|
2022-04-20 14:27:17 +00:00
|
|
|
- ssh-keyscan 192.168.1.19 >> ~/.ssh/known_hosts
|
|
|
|
- chmod 644 ~/.ssh/known_hosts
|
2022-04-20 13:19:25 +00:00
|
|
|
script:
|
|
|
|
- ssh ahosking@192.168.1.19 "cd /home/ahosking/period && git pull origin master && exit"
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
|