|
1 | | - |
2 | 1 | pipeline { |
3 | 2 | agent any |
4 | 3 |
|
5 | 4 | environment { |
6 | 5 | VENV = 'venv' |
7 | 6 | PYTHON = './venv/bin/python' |
8 | 7 | PIP = './venv/bin/pip' |
9 | | - FLAKE8 = './venv/bin/flake8' |
10 | | - BANDIT = './venv/bin/bandit' |
11 | | - ISORT = './venv/bin/isort' |
12 | | - MYPY = './venv/bin/mypy' |
13 | 8 | } |
14 | 9 |
|
15 | 10 | stages { |
16 | | - stage('Setup & Lint in Docker') { |
| 11 | + stage('Install Python Deps') { |
17 | 12 | steps { |
18 | | - script { |
19 | | - docker.image('cimg/python:3.12-node').inside { |
20 | | - sh ''' |
21 | | - python -m venv venv |
22 | | - ./venv/bin/pip install --upgrade pip |
23 | | - ./venv/bin/pip install -r requirements.txt |
| 13 | + sh ''' |
| 14 | + python3 -m venv venv |
| 15 | + ${PIP} install --upgrade pip |
| 16 | + ${PIP} install -r requirements.txt |
| 17 | + ''' |
| 18 | + } |
| 19 | + } |
24 | 20 |
|
25 | | - # Linting & Security (ignoring venv, tests) |
26 | | - ./venv/bin/flake8 . --exclude=venv,tests,.serverless || true |
27 | | - ./venv/bin/bandit -r . -x venv,tests,.serverless || true |
28 | | - ./venv/bin/isort . --skip venv --skip tests --skip .serverless --check-only || true |
29 | | - ./venv/bin/mypy . --exclude '(venv|tests|\\.serverless)' || true |
30 | | - ''' |
31 | | - } |
32 | | - } |
| 21 | + stage('Lint & Security') { |
| 22 | + steps { |
| 23 | + sh ''' |
| 24 | + ./venv/bin/flake8 . --exclude=venv,tests,.serverless || true |
| 25 | + ./venv/bin/bandit -r . -x venv,tests,.serverless || true |
| 26 | + ./venv/bin/isort . --skip venv --skip tests --skip .serverless --check-only || true |
| 27 | + ./venv/bin/mypy . --exclude '(venv|tests|\\.serverless)' || true |
| 28 | + ''' |
33 | 29 | } |
34 | 30 | } |
35 | 31 |
|
36 | | - stage('Deploy to Lambda') { |
| 32 | + stage('Deploy to AWS Lambda') { |
37 | 33 | steps { |
38 | | - script { |
39 | | - docker.image('cimg/python:3.12-node').inside { |
40 | | - sh ''' |
41 | | - npm install -g serverless |
42 | | - ./venv/bin/pip install serverless # optional |
43 | | - serverless deploy --stage dev |
44 | | - ''' |
45 | | - } |
46 | | - } |
| 34 | + sh ''' |
| 35 | + npm install -g serverless |
| 36 | + ./venv/bin/pip install serverless |
| 37 | + serverless deploy --stage dev |
| 38 | + ''' |
47 | 39 | } |
48 | 40 | } |
49 | 41 | } |
50 | 42 | } |
51 | | - |
0 commit comments