Butir-butir artikel ini mencipta imej Docker Ubuntu tersuai yang telah dikonfigurasi dengan SDKMan, pengurus SDK yang serba boleh, dan mengintegrasikannya ke dalam saluran paip CI/CD Gitlab. Ini memastikan perkembangan yang konsisten dan persekitaran CI/CD.
Dockerfile berikut mencipta imej Ubuntu 20.04, memasang kebergantungan, dan menetapkan SDKMAN dengan versi Java, Scala, dan SBT tertentu:
<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>
Penjelasan: Dockerfile menggunakan ubuntu:20.04
sebagai pangkalannya. Alat penting dipasang menggunakan apt-get
. SDKMAN dipasang melalui skripnya, dan versi SDK tertentu kemudian dipasang. Akhirnya, direktori kerja ditetapkan ke /app
.
Bina imej menggunakan:
<code class="language-bash">docker build -t bansikah/gitlab-ci:v1.0.1 .</code>
Langkah 2: Integrasi Gitlab CI/CD
.gitlab-ci.yml
<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>
Menentukan imej tersuai. Peringkat menjalankan pekerjaan yang sumber SDKMAN, memeriksa versi, dan (secara tersirat) mengesahkan pemasangan SDK dengan cuba menjalankan .gitlab-ci.yml
. test
sdk version
Langkah 3: Menjalankan saluran paip
menggunakan imej tersuai, mengesahkan SDKman dan SDK yang dipasang. .gitlab-ci.yml
test-job
Kesimpulan
Imej Docker Custom ini menyelaraskan pembangunan dan CI/CD dengan menyediakan persekitaran yang konsisten dengan SDK yang telah dipasang. Penyesuaian lanjut adalah mungkin dengan menambahkan lebih banyak SDK atau alat yang diperlukan. Rujuk kepada dokumentasi SDKMan, Docker, dan Gitlab CI/CD untuk maklumat lanjut.Atas ialah kandungan terperinci Membina imej Ubuntu tersuai dengan SDKMan dan menggunakannya dalam saluran paip CI/CD Gitlab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!