Maison > Java > javaDidacticiel > Construire une image Ubuntu personnalisée avec SDKMAN et l'utiliser dans un pipeline Gitlab CI / CD

Construire une image Ubuntu personnalisée avec SDKMAN et l'utiliser dans un pipeline Gitlab CI / CD

Patricia Arquette
Libérer: 2025-01-28 20:05:16
original
762 Les gens l'ont consulté

Cet article détaille la création d'une image Ubuntu Docker personnalisée préconfigurée avec SDKMAN, un gestionnaire SDK polyvalent et l'intégrant dans un pipeline Gitlab CI / CD. Cela garantit un développement cohérent et des environnements CI / CD.

Étape 1: Construire l'image Docker personnalisée

Le dockerfile suivant crée une image Ubuntu 20.04, installe des dépendances et configure SDKMAN avec des versions spécifiques Java, Scala et SBT:

<code class="language-dockerfile"># Dockerfile
FROM ubuntu:20.04

# Install dependencies
RUN apt-get update && apt-get install -y curl unzip zip bash git vim wget jq tmux

# Install SDKMAN!
RUN curl -s "https://get.sdkman.io" | bash

# Set shell and source SDKMAN
SHELL ["/bin/bash", "-c"]
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" && \
    sdk install java 21.0.2-open && \
    sdk install sbt 1.8.2 && \
    sdk install scala 2.13.10

# Set working directory
WORKDIR /app</code>
Copier après la connexion

Explication: Le dockerfile utilise ubuntu:20.04 comme base. Les outils essentiels sont installés à l'aide de apt-get. SDKMAN est installé via son script et des versions SDK spécifiques sont ensuite installées. Enfin, le répertoire de travail est défini sur /app.

Construire et pousser l'image

Créez l'image en utilisant:

<code class="language-bash">docker build -t bansikah/gitlab-ci:v1.0.1 .</code>
Copier après la connexion

Building a Custom Ubuntu Image with SDKMAN and Using It in a GitLab CI/CD Pipeline

Poussez l'image vers votre registre Docker (par exemple, Docker Hub): (image omise pour la concision, mais le processus est affiché visuellement.)

Building a Custom Ubuntu Image with SDKMAN and Using It in a GitLab CI/CD Pipeline

Étape 2: Gitlab CI / CD Intégration

Ce fichier .gitlab-ci.yml utilise l'image personnalisée et vérifie l'installation SDKMAN:

<code class="language-yaml"># .gitlab-ci.yml
image: bansikah/gitlab-ci:v1.0.1

stages:
  - test

test-job:
  stage: test
  script:
    - echo "Checking SDKMAN version..."
    - source "$HOME/.sdkman/bin/sdkman-init.sh"
    - sdk version
    - echo "Checking installed SDKs..."</code>
Copier après la connexion

Explication: Le .gitlab-ci.yml spécifie l'image personnalisée. A test Stage exécute un travail qui s'approvisionne SDKMAN, vérifie sa version et vérifie (implicitement) les installations SDK en tentant d'exécuter sdk version.

Étape 3: Exécution du pipeline

Pousser le .gitlab-ci.yml vers votre référentiel GitLab déclenche le pipeline. Le test-job utilise l'image personnalisée, vérifiant SDKMAN et ses SDKS installés.

Building a Custom Ubuntu Image with SDKMAN and Using It in a GitLab CI/CD Pipeline

Conclusion

Cette image Docker personnalisée rationalise le développement et CI / CD en fournissant un environnement cohérent avec des SDK préinstallés. Une personnalisation supplémentaire est possible en ajoutant plus de SDK ou d'outils selon les besoins. Reportez-vous à la documentation SDKMAN, DOCKER et GITLAB CI / CD pour plus d'informations.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal