0% ont trouvé ce document utile (0 vote)
181 vues5 pages

Devops Docker

Ce document décrit les étapes d'un pipeline CI/CD pour construire et tester un projet Maven Dockerisé. Il explique la création d'une image Docker, le déploiement d'un conteneur, la construction et les tests du projet ainsi que les notifications sur Slack.

Transféré par

MOHCINE BADOUR
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
181 vues5 pages

Devops Docker

Ce document décrit les étapes d'un pipeline CI/CD pour construire et tester un projet Maven Dockerisé. Il explique la création d'une image Docker, le déploiement d'un conteneur, la construction et les tests du projet ainsi que les notifications sur Slack.

Transféré par

MOHCINE BADOUR
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Compte rendu

Module: DevOps - Docker Date limite: 21-03-2023

Etudiant: Badour Mohcine

Creation d’une image Dockerfile:

Pusher Dockerfile dans github:


Creer un conteneur:

Builder le projet:
name:
maven

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]

jobs:
build:
# Délai de construction
timeout-minutes: 2

# Le type de runner sur lequel la tâche s'exécutera


runs-on: ubuntu-latest
env:
# Notification de Slack
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
# Les étapes représentent une séquence de tâches qui seront exécutées dans le cadre du travail
steps:

# Vérifie le référentiel sous $GITHUB_WORKSPACE, afin que le travail puisse y accéder


- name: Étape 1 - Commander la branche principale de GitHub
uses: actions/checkout@v3

# Exécute une seule commande à l'aide du shell


- name: Étape 2 - installation de JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: maven

- name: Étape 3 - Demandez aux actions GitHub de créer le projet Maven


run: |
mvn -B package --file [Link]
mkdir staging && cp target/*.jar staging
#mvn clean install
#run: mvn -B package --file [Link]

#Effectuer les testes de code


- name: Étape 4 - les tests unitaires de code
run: mvn --batch-mode -[Link]=true test

- name: Étape 5 - Configurer un cache pour Maven


uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ [Link] }}-m2-${{ hashFiles('**/[Link]') }}
restore-keys: ${{ [Link] }}-m2

- name: Étape 6 - docker


run:
docker build -t dockerspring .
#docker run -p=8080:8080 dockerspring

#- name: Send email notification


#uses: dawidd6/[email protected]
#with:
#server_address: [Link]
#server_port: 587
#username: ${{ [Link]@[Link] }}
#password:
${{ [Link].BXatnHC3Tc-rda_uJC51MA.13_kO4npKj6WTOjZ5sQTtwRA_G9Y9riWp82g2sb90og }}
#to: [Link]@[Link]
#subject: Workflow completed
#body: The workflow has completed successfully!

#Notifier sur slack lors de build complet de projet


- name: Slack Notification
uses: act10ns/slack@v1
with:
status: ${{ [Link] }}
steps: ${{ toJson(steps) }}
channel: '#tp_devops_channel'
message: notification de compilation.
if: always()
#Notifier sur teams lors de build complet de projet
#- name: Teams notification
#uses: jdcargile/[email protected]
#with:
#github-token: ${{ [Link] }} # this will use the runner's token.
#ms-teams-webhook-uri: ${{ secrets.MS_TEAMS_WEBHOOK_URI }}
#notification-summary: Your custom notification message
#notification-color: 17a2b8

Vous aimerez peut-être aussi