-
Notifications
You must be signed in to change notification settings - Fork 0
/
wercker.yml
71 lines (58 loc) · 2.31 KB
/
wercker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
build:
box: python:3.4
steps:
- script:
name: artifacts
code: |-
cp "$WERCKER_SOURCE_DIR/alembic.ini" "$WERCKER_OUTPUT_DIR"
cp "$WERCKER_SOURCE_DIR/requirements.txt" "$WERCKER_OUTPUT_DIR"
cp -R "$WERCKER_SOURCE_DIR/gitmostwanted" "$WERCKER_OUTPUT_DIR"
cp -R "$WERCKER_SOURCE_DIR/migration" "$WERCKER_OUTPUT_DIR"
cp -R "$WERCKER_SOURCE_DIR/scripts" "$WERCKER_OUTPUT_DIR"
- pip-install:
packages_list: pip pycodestyle pytest==3.10.1 pytest-cov==1.8.1 responses coveralls
- script:
name: code style
code: pycodestyle --max-line-length=100 --show-pep8 gitmostwanted
- script:
name: tests and coverage
code: py.test --cov gitmostwanted --cov-report annotate
- script:
name: transfer code coverage
code: coveralls
deploy:
box:
id: alpine:latest
cmd: /bin/sh
steps:
- script:
name: os dependencies
code: |-
apk update
apk add bash openssh rsync
- add-to-known_hosts:
local: true
hostname: gitmostwanted.com
fingerprint: bjXmjbllgvGrRfIxW8aoHAJ4bbMCqoyFq5kbvto8YKg
- add-ssh-key:
keyname: SSH_KEY
host: gitmostwanted.com
- script:
name: source-code upload
code: |-
rsync -az --delete-after ./gitmostwanted [email protected]:"$PROJECT_SOURCE_DIR"
rsync -az --delete-after ./migration [email protected]:"$PROJECT_SOURCE_DIR"
rsync -az --delete-after ./scripts [email protected]:"$PROJECT_SOURCE_DIR"
rsync -az ./alembic.ini [email protected]:"$PROJECT_SOURCE_DIR"
rsync -az ./requirements.txt [email protected]:"$PROJECT_SOURCE_DIR"
- script:
name: requirements
code: ssh [email protected] "source ~/.venv.sh; cd $PROJECT_SOURCE_DIR; pip install -U pip && pip install -r requirements.txt"
- script:
name: migrations
code: ssh [email protected] "source ~/.venv.sh; cd $PROJECT_SOURCE_DIR; alembic upgrade head"
- script:
name: reload services
code: |
ssh [email protected] "touch $PROJECT_SOURCE_DIR/gitmostwanted.com.wsgi"
ssh [email protected] "(cat $PROJECT_SOURCE_DIR/celery.pid | xargs kill -15) &>/dev/null || true"