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
831 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:

# 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
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:

docker build -t bansikah/gitlab-ci:v1.0.1 .
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:

# .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..."
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!

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