Skip to content
Open

Dev #11

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
5e8c5aa
Update Jenkinsfile
maguilaes May 14, 2025
ad32c2a
Update Jenkinsfile
maguilaes May 14, 2025
4919fd5
Update Jenkinsfile
maguilaes May 14, 2025
264035f
Update Jenkinsfile
maguilaes May 14, 2025
c9098a7
Update Jenkinsfile
maguilaes May 14, 2025
39a6eb7
Update Jenkinsfile
maguilaes May 14, 2025
ae208e6
Update Jenkinsfile
maguilaes May 19, 2025
e58ee24
Update Jenkinsfile
maguilaes May 19, 2025
07218fe
enable npm test
maguilaes May 21, 2025
9f8b9f8
edit jenkinsfile
maguilaes May 23, 2025
b7ca871
any docker
maguilaes May 23, 2025
a579dd8
jenkins
maguilaes May 23, 2025
f26f204
upgrade nodejs
maguilaes May 23, 2025
b7d7871
delete docker image
maguilaes May 27, 2025
c2aed2a
test
maguilaes May 27, 2025
8eaebb5
remove pipeline
May 29, 2025
6e6bd86
upgrade pipe
May 29, 2025
57b5951
add docker agent
May 29, 2025
c0b491f
agent any
May 29, 2025
63bf9a2
pipe test
May 29, 2025
ab0716a
add env build
May 29, 2025
022da8d
remode label docker
May 29, 2025
0974298
remove test
May 29, 2025
b3f39af
test
May 29, 2025
36f7687
add env test
May 29, 2025
bb5fe8a
sin build docker
May 30, 2025
2afdb24
update pipe
May 30, 2025
da4414d
add buil docker
Jun 24, 2025
3ca4e7b
agent any
Jun 24, 2025
6cb7d90
add test npm
Jun 24, 2025
1187bc0
add tag y del image
Jun 24, 2025
3888f8e
fixed
Jun 24, 2025
7e15c2b
delete sudo en pipe
Jun 24, 2025
3bc81e4
update push
Jun 24, 2025
5d25f12
filejenkins update
Jun 24, 2025
340aefa
cambios
Jun 24, 2025
f0c6df7
sds
Jun 24, 2025
f42b75f
del sudo
Jun 25, 2025
7fadd0a
cambios pipe
Jun 28, 2025
71787a4
env
Jun 28, 2025
b5d1f0f
del env
Jun 28, 2025
268811a
add agent docker
Jun 28, 2025
a8f2c39
agent any
Jun 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Usa una imagen base de Node.js
FROM node:14
FROM node:24-alpine

# Establece el directorio de trabajo
WORKDIR /usr/src/app
Expand Down
75 changes: 11 additions & 64 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@ pipeline {
agent any

environment {
DOCKER_IMAGE_NAME = "lisandrodev/simple-nodejs"
DEPLOY_SERVER = "34.230.73.120"
DEPLOY_USER = "ubuntu"
DOCKER_IMAGE_NAME = "maguilaes/simple-nodejs"
}

stages {
stage('Checkout') {
steps {
git branch: "${env.BRANCH_NAME}", url: 'https://github.com/LisandroLuna/simple-nodejs.git'
git branch: "${env.BRANCH_NAME}", url: 'https://github.com/maguilaes/simple-nodejs.git'
}
}

Expand All @@ -20,17 +18,16 @@ pipeline {
sh "docker build -t ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER} ."
}
}
}

}
stage('Test') {
steps {
script {
sh "docker run --rm ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER} npm test"
}
}
}

stage('Tag Docker Image') {
stage('Push Docker Image') {
steps {
script {
withCredentials([usernamePassword(credentialsId: 'docker-hub-credentials', passwordVariable: 'DOCKER_HUB_PASSWORD', usernameVariable: 'DOCKER_HUB_USERNAME')]) {
Expand All @@ -42,69 +39,19 @@ pipeline {
}
}
}

stage('Deploy TEST') {
when {
branch 'test'
}
steps {
script {
withCredentials([sshUserPrivateKey(credentialsId: 'ssh-user-aws', keyFileVariable: 'SSH_KEY')]) {
sh """
ssh -o StrictHostKeyChecking=no -i ${SSH_KEY} ${DEPLOY_USER}@${DEPLOY_SERVER} bash -c '
docker pull ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER}
docker stop simple-nodejs || true
docker rm simple-nodejs || true
docker run -d --name simple-nodejs -p 3000:3000 ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER}
'
"""
}
}
}
}

stage('Deploy Approval') {
when {
branch 'main'
}
steps {
script {
input message: 'Deploy to production?', ok: 'Yes, deploy'
}
}
}

stage('Deploy PROD') {
when {
branch 'main'
}
steps {
script {
withCredentials([sshUserPrivateKey(credentialsId: 'ssh-user-aws', keyFileVariable: 'SSH_KEY')]) {
sh """
ssh -o StrictHostKeyChecking=no -i ${SSH_KEY} ${DEPLOY_USER}@${DEPLOY_SERVER} bash -c '
docker pull ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER}
docker stop simple-nodejs || true
docker rm simple-nodejs || true
docker run -d --name simple-nodejs -p 3000:3000 ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER}
'
"""
}
}
}
}
}

}
post {
always {
script {
try {
sh "sudo docker rmi ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER}"
sh "sudo docker rmi ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-latest"
sh "docker rmi ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-${env.BUILD_NUMBER}"
sh "docker rmi ${DOCKER_IMAGE_NAME}:${env.BRANCH_NAME}-latest"
} catch (Exception e) {
echo 'Failed to remove Docker image.'
}
}
}
}
}
}