add docker files
This commit is contained in:
parent
e00cc3ba84
commit
9fba43b3ef
58
Jenkinsfile
vendored
58
Jenkinsfile
vendored
@ -1,58 +0,0 @@
|
|||||||
pipeline {
|
|
||||||
agent any
|
|
||||||
|
|
||||||
stages {
|
|
||||||
stage('Build') {
|
|
||||||
steps {
|
|
||||||
echo 'Compilation du code...'
|
|
||||||
// Add your build commands here
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Test') {
|
|
||||||
steps {
|
|
||||||
echo 'Exécution des tests...'
|
|
||||||
// Add your test commands here
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Deploy') {
|
|
||||||
steps {
|
|
||||||
echo 'Déploiement sur Portainer...'
|
|
||||||
|
|
||||||
// Obtain an authentication token from Portainer
|
|
||||||
withCredentials([usernamePassword(credentialsId: 'portainer-credentials', usernameVariable: 'PORTAINER_USERNAME', passwordVariable: 'PORTAINER_PASSWORD')]) {
|
|
||||||
script {
|
|
||||||
// Create a JSON object for the authentication request
|
|
||||||
def authRequestBody = groovy.json.JsonOutput.toJson([
|
|
||||||
Username: PORTAINER_USERNAME,
|
|
||||||
Password: PORTAINER_PASSWORD
|
|
||||||
])
|
|
||||||
|
|
||||||
// Send the authentication request without logging sensitive data
|
|
||||||
def response = httpRequest(
|
|
||||||
httpMode: 'POST',
|
|
||||||
contentType: 'APPLICATION_JSON',
|
|
||||||
url: "http://portainer.canguidev.fr/api/auth",
|
|
||||||
requestBody: authRequestBody,
|
|
||||||
consoleLogResponseBody: false // Prevent logging the response body
|
|
||||||
)
|
|
||||||
|
|
||||||
def json = readJSON text: response.content
|
|
||||||
env.PORTAINER_TOKEN = json.jwt
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deploy the stack on Portainer using the obtained token
|
|
||||||
httpRequest(
|
|
||||||
httpMode: 'PUT',
|
|
||||||
customHeaders: [[name: 'Authorization', value: "Bearer ${env.PORTAINER_TOKEN}"]],
|
|
||||||
url: "http://portainer.canguidev.fr/api/stacks/canguidev/deploy",
|
|
||||||
contentType: 'APPLICATION_JSON',
|
|
||||||
requestBody: '{"Prune": true}',
|
|
||||||
consoleLogResponseBody: false // Prevent logging the response body
|
|
||||||
)
|
|
||||||
|
|
||||||
echo 'Déploiement terminé.'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,13 +1,15 @@
|
|||||||
version: '3.7'
|
version: '3'
|
||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
image: my-image:latest
|
build: .
|
||||||
ports:
|
ports:
|
||||||
- "8084:80"
|
- "8084:80"
|
||||||
networks:
|
networks:
|
||||||
- canguidev_default
|
- canguidev_default
|
||||||
- npm-network
|
- npm-network
|
||||||
deploy:
|
|
||||||
update_config:
|
networks:
|
||||||
parallelism: 1
|
canguidev_default:
|
||||||
pull_policy: always
|
external: true
|
||||||
|
npm-network:
|
||||||
|
external: true
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user