diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9c7e870 --- /dev/null +++ b/Dockerfile @@ -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;"] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..4c8a7d6 --- /dev/null +++ b/Jenkinsfile @@ -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" + } + } + } + } +} diff --git a/Jenkinsfile-push-gitea-dockerhub b/Jenkinsfile-push-gitea-dockerhub new file mode 100644 index 0000000..67bbe08 --- /dev/null +++ b/Jenkinsfile-push-gitea-dockerhub @@ -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() + } + } + } + } + } +} diff --git a/app.py b/app.py new file mode 100644 index 0000000..05d7814 --- /dev/null +++ b/app.py @@ -0,0 +1 @@ +print("Hello from Python in Jenkins!") diff --git a/index.html b/index.html new file mode 100644 index 0000000..e688c9d --- /dev/null +++ b/index.html @@ -0,0 +1,24 @@ + + + + Hello World from Lenape + + + +

Hello World from Lenape

+ +