5 changed files with 100 additions and 0 deletions
@ -0,0 +1,9 @@
|
||||
FROM python:3.9-slim-buster |
||||
|
||||
RUN apt-get update && apt-get install -y nginx |
||||
|
||||
COPY index.html /usr/share/nginx/html/index.html |
||||
|
||||
EXPOSE 80 |
||||
|
||||
CMD ["nginx", "-g", "daemon off;"] |
@ -0,0 +1,31 @@
|
||||
pipeline { |
||||
agent any |
||||
|
||||
stages { |
||||
stage('Build Docker Image') { |
||||
steps { |
||||
script { |
||||
def imageName = "python-jenkins-project:${BUILD_NUMBER}" |
||||
docker.build(imageName, '.') |
||||
env.IMAGE_NAME = imageName |
||||
} |
||||
} |
||||
} |
||||
stage('Deploy Docker Container') { |
||||
steps { |
||||
script { |
||||
sh "docker stop python-jenkins-container || true" |
||||
sh "docker rm python-jenkins-container || true" |
||||
sh "docker run -d -p 5555:80 --name python-jenkins-container ${env.IMAGE_NAME}" |
||||
} |
||||
} |
||||
} |
||||
stage('Verify Deployment') { |
||||
steps { |
||||
script { |
||||
sh "curl http://38.110.1.139:5555" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,35 @@
|
||||
pipeline { |
||||
agent any |
||||
|
||||
environment { |
||||
DOCKERHUB_REPO = 'jacqueskingram/python-jenkins-project' |
||||
GITEA_REPO = 'code.jacquesingram.online/lenape/python-jenkins-project.git' |
||||
} |
||||
|
||||
stages { |
||||
stage('Build Docker Image') { |
||||
steps { |
||||
script { |
||||
def imageName = "${env.DOCKERHUB_REPO}:${BUILD_NUMBER}" |
||||
docker.build(imageName, '.') |
||||
env.IMAGE_NAME = imageName |
||||
} |
||||
} |
||||
} |
||||
stage('Push to Gitea') { |
||||
steps { |
||||
git credentialsId: 'my-gitea-credentials', url: "${env.GITEA_REPO}" |
||||
sh 'git push origin main' |
||||
} |
||||
} |
||||
stage('Push to Docker Hub') { |
||||
steps { |
||||
script { |
||||
docker.withRegistry('https://index.docker.io/v1/', 'my-dockerhub-credentials') { |
||||
docker.image(env.IMAGE_NAME).push() |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title>Hello World from Lenape</title> |
||||
<style> |
||||
body { |
||||
display: flex; |
||||
justify-content: center; |
||||
align-items: center; |
||||
height: 100vh; |
||||
margin: 0; |
||||
background-color: #f0f0f0; |
||||
} |
||||
h1 { |
||||
font-family: cursive; |
||||
font-size: 3em; |
||||
color: #333; |
||||
} |
||||
</style> |
||||
</head> |
||||
<body> |
||||
<h1>Hello World from Lenape</h1> |
||||
</body> |
||||
</html> |
Loading…
Reference in new issue