Skip to content

Commit aa1e015

Browse files
Update Jenkinsfile
1 parent 47135fa commit aa1e015

File tree

1 file changed

+68
-54
lines changed

1 file changed

+68
-54
lines changed

Jenkinsfile

Lines changed: 68 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,76 @@
11
pipeline {
2-
agent any
3-
4-
environment {
5-
SERVERLESS_ACCESS_KEY = credentials('SERVERLESS_ACCESS_KEY')
6-
AWS_ACCESS_KEY_ID = credentials('AWS_ACCESS_KEY_ID')
7-
AWS_SECRET_ACCESS_KEY = credentials('AWS_SECRET_ACCESS_KEY')
8-
}
9-
10-
stages {
11-
stage('Check Environment') {
12-
steps {
13-
sh '''
14-
echo "Checking Python version..."
15-
python3 --version
16-
17-
echo "Checking Node version..."
18-
node -v
19-
20-
echo "Checking npm version..."
21-
npm -v
22-
23-
echo "Checking Serverless version..."
24-
/usr/bin/serverless --version || {
25-
echo "❌ Serverless CLI not found"
26-
exit 1
27-
}
28-
'''
29-
}
30-
}
2+
agent any
313

32-
stage('Setup Python Virtualenv') {
33-
steps {
34-
sh '''
35-
python3 -m venv venv
36-
. venv/bin/activate
37-
pip install --upgrade pip
38-
pip install -r requirements.txt
39-
'''
40-
}
4+
environment {
5+
SERVERLESS_ACCESS_KEY = credentials('serverless-access-key') // Jenkins Secret
6+
PATH = "/usr/bin:$PATH" // Ensure global serverless is accessible
417
}
428

43-
stage('Deploy to AWS Lambda') {
44-
steps {
45-
echo '🚀 Deploying with Serverless CLI...'
46-
sh '''
47-
export SERVERLESS_ACCESS_KEY=$SERVERLESS_ACCESS_KEY
48-
/usr/bin/serverless deploy --stage dev
49-
'''
50-
}
51-
}
52-
}
9+
stages {
10+
stage('Checkout Code') {
11+
steps {
12+
checkout scm
13+
}
14+
}
15+
16+
stage('Check Environment') {
17+
steps {
18+
sh '''
19+
echo "Checking Python version..."
20+
python3 --version
21+
22+
echo "Checking Node version..."
23+
node -v
24+
25+
echo "Checking npm version..."
26+
npm -v
27+
28+
echo "Checking Serverless version..."
29+
command -v serverless || { echo "❌ Serverless CLI not found"; exit 1; }
5330
54-
post {
55-
failure {
56-
echo "❌ Pipeline failed. Check logs above."
31+
echo "✅ Environment looks good."
32+
'''
33+
}
34+
}
35+
36+
stage('Install Dependencies') {
37+
steps {
38+
sh '''
39+
echo "Installing Python virtual environment..."
40+
python3 -m venv venv
41+
. venv/bin/activate
42+
43+
echo "Installing Python dependencies..."
44+
pip install --upgrade pip
45+
pip install -r requirements.txt
46+
47+
echo "Installing Node dependencies..."
48+
npm install
49+
50+
echo "Installing Serverless WSGI plugin if needed..."
51+
npm install --save serverless-wsgi
52+
'''
53+
}
54+
}
55+
56+
stage('Deploy to AWS Lambda') {
57+
steps {
58+
withCredentials([string(credentialsId: 'serverless-access-key', variable: 'SERVERLESS_ACCESS_KEY')]) {
59+
sh '''
60+
echo "Deploying with Serverless CLI..."
61+
serverless deploy --stage dev --verbose
62+
'''
63+
}
64+
}
65+
}
5766
}
58-
success {
59-
echo "✅ Deployment successful!"
67+
68+
post {
69+
success {
70+
echo '✅ Deployment successful!'
71+
}
72+
failure {
73+
echo '❌ Pipeline failed. Check logs above.'
74+
}
6075
}
61-
}
6276
}

0 commit comments

Comments
 (0)