Commit bb51299a authored by binta's avatar binta

update file

parent 3e5b0531
docker-config.json
\ No newline at end of file
docker-config.json
odoo_variables.env
\ No newline at end of file
# Utiliser l'image officielle d'Odoo comme base
FROM odoo:16
# utilisation de l'image de base d'odoo: dernier version
FROM odoo:16.0
# Copier le code source (modules custom) dans le conteneur
COPY ./addons /mnt/extra-addons
# Mise à jour du système et installation des dépendances pour l'execution d'odoo tout en optimisant l'image
RUN apt-get update && apt-get install -y \
python3-pip \
libxml2-dev \
libxslt1-dev \
libldap2-dev \
libsasl2-dev \
libjpeg-dev \
libpq-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Définir les permissions nécessaires
RUN chown -R odoo:odoo /mnt/extra-addons
# Copie des fichiers de configuration donner dans le projet de base
COPY config/odoo.conf /etc/odoo/odoo.conf
COPY odoo_variables.env /etc/odoo/odoo_variables.env
# Exposer le port par défaut d'Odoo
# Copie des modules et scripts pour la personnalisation de l'appli et octroiment de droit pour l'execution
COPY addons /mnt/extra-addons
COPY entreprise_addons /mnt/extra-addons/entreprise_addons
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Exposition du port de base d'odoo
EXPOSE 8069
# Démarrer le service Odoo
CMD ["odoo", "--addons-path=/mnt/extra-addons,/usr/lib/python3/dist-packages/odoo/addons"]
# execution du script apres lancement
ENTRYPOINT ["/entrypoint.sh"]
......@@ -2,67 +2,68 @@ pipeline {
agent any
environment {
IMAGE_NAME = "registry.gitlab.com/binetaci/odoo-demo:latest"
CONFIG_FILE = "docker-config.json"
DOCKER_CONFIG_PATH = "/path/to/docker-config.json" // ce fichier sera stocker dans le conteneur de jenkins au niveau du volume
DOCKER_REGISTRY = "registry.gitlab.com/votre-projet"
IMAGE_NAME = "odoo-app"
HELM_RELEASE = "odoo-release"
KUBE_CONTEXT = "docker" // Contexte docker sera utilisé vu que j'utilise conteneur pour jenkins
}
stages {
stage('Build') {
stage('Checkout') {
steps {
echo "Building Docker image..."
sh "docker build -t ${IMAGE_NAME} ."
checkout scm
}
}
/* stage('Push Image') {
stage('Build Docker Image') {
steps {
echo "Pushing Docker image to GitLab Registry..."
withCredentials([usernamePassword(
credentialsId: 'gitlab-registry-credentials',
usernameVariable: 'USERNAME',
passwordVariable: 'PASSWORD'
)]) {
sh "docker login -u ${USERNAME} -p ${PASSWORD} registry.gitlab.com/binetaci"
sh "docker push ${IMAGE_NAME}"
script {
docker.withCustomRegistryAuth(DOCKER_CONFIG_PATH) {
def image = docker.build("${DOCKER_REGISTRY}/${IMAGE_NAME}:${env.BUILD_NUMBER}")
}
}
}
}*/
}
stage('Push Image') {
stage('Push Docker Image') {
steps {
echo "Pushing Docker image to GitLab Registry..."
// Copier le fichier docker-config.json dans le répertoire Docker
sh "mkdir -p ~/.docker"
sh "cp ${CONFIG_FILE} ~/.docker/config.json"
// Pousser l'image dans le registre
sh "docker push ${IMAGE_NAME}"
script {
docker.withCustomRegistryAuth(DOCKER_CONFIG_PATH) {
def image = docker.image("${DOCKER_REGISTRY}/${IMAGE_NAME}:${env.BUILD_NUMBER}")
image.push()
}
}
}
}
// la configuration du deploiement avec helm et argo est deja effectue il reste l'image a builder pour jenkins afin d'avoir l'application sur argo
stage('Deploy with Helm') {
steps {
echo "Deploying application with Helm..."
sh """
helm upgrade --install odoo-deployment ./helm/ \
--set image.repository=registry.gitlab.com/binetaci \
--set image.tag=latest
"""
script {
sh """
helm upgrade --install ${HELM_RELEASE} ./charthelm-odoo \
--set image.repository=${DOCKER_REGISTRY}/${IMAGE_NAME} \
--set image.tag=${env.BUILD_NUMBER} \
--kube-context ${KUBE_CONTEXT}
"""
}
}
}
stage('ArgoCD Sync') {
stage('Sync with ArgoCD') {
steps {
echo "Triggering ArgoCD sync..."
sh "argocd app sync odoo-deployment"
script {
sh """
argocd app sync ${HELM_RELEASE} --kube-context ${KUBE_CONTEXT}
"""
}
}
}
}
post {
always {
echo "Pipeline completed!"
cleanWs()
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment