Sign inSign up

blankhang/jenkins

By blankhang

Updated 15 days ago

jenins with docker-cli maven nodejs chinese lanugage support and TZ Asia/Shanghai adjustment

Image
Integration & delivery
Internet of things
Developer tools
0

4.5K

blankhang/jenkins repository overview

fix the following error when use origin jenkins docker image on ubuntu 2204lts

+ docker inspect -f . node:7-alpine
/var/jenkins_home/workspace/test@tmp/durable-1e0eb9b6/script.sh: 1: docker: not found
+ docker inspect -f . node:7-alpine
docker: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by docker)
docker: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by docker)

create docker-compose.yml

version: '3.8'

services:
  jenkins: blankhang/jenkins
    container_name: jenkins
    restart: always
    privileged: true
    user: root

    healthcheck:
      test: curl -s https://localhost:8080 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
      interval: 1m
      timeout: 5s
      retries: 3

    ports:
      - '8080:8080'
    networks:
      - default
    volumes:
      # you can change it [/docker/jenkins/jenkins_home] to your host location, it hosts the jenkins files.
      - '/docker/jenkins/jenkins_home:/var/jenkins_home'
      - '/etc/localtime:/etc/localtime:ro'
      - '/var/run/docker.sock:/var/run/docker.sock'
networks:
  default:

then start it

docker compose up -d 

then open your browser http://yourserverip:8080

Dockerfile

FROM jenkins/jenkins:lts-jdk25
MAINTAINER [email protected]

USER root

ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

ENV NODEJS_VERSION=22
ENV GRADLE_VERSION=9.3.0
ENV GRADLE_USER_HOME=/.gradle
ENV GRADLE_HOME=/opt/gradle
#ENV ANDROID_HOME=/usr/lib/android-sdk/

# 安装基本工具 + 中文字体支持 + Docker CLI
RUN apt-get update && apt-get install -y --no-install-recommends \
    sudo git wget unzip curl fontconfig locales tzdata gnupg lsb-release ca-certificates \
    maven \
    && echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers \
    && echo "zh_CN.UTF-8 UTF-8" > /etc/locale.gen && locale-gen zh_CN.UTF-8 \
    && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
    && rm -rf /var/lib/apt/lists/*



# ✅ 使用 Docker 官方源安装最新 CLI
# 安装 Docker CLI(不安装 dockerd)
RUN groupadd -f docker \
    && mkdir -p /etc/apt/keyrings \
    && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
    && echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bullseye stable" \
        > /etc/apt/sources.list.d/docker.list \
    && apt-get update && apt-get install -y docker-ce-cli \
    && usermod -a -G docker jenkins \
    && rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*

# 安装 Node.js(使用 NodeSource) + Yarn + pnpm
RUN curl -fsSL https://deb.nodesource.com/setup_${NODEJS_VERSION}.x | bash - \
    && apt-get install -y nodejs \
    && npm install -g yarn pnpm \
    && rm -rf /var/lib/apt/lists/*

# 安装 Gradle
RUN curl -Lo /tmp/gradle.zip https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip \
    && unzip /tmp/gradle.zip -d /opt/ \
    && ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/bin/gradle \
    && rm -f /tmp/gradle.zip

# 创建并授权缓存目录
RUN mkdir -p ${GRADLE_USER_HOME}/caches /.android \
    && chown -R jenkins:jenkins ${GRADLE_USER_HOME} /.android

USER jenkins

# 可选:预安装 Jenkins 插件
RUN jenkins-plugin-cli --plugins \
  git \
  maven-plugin \
  gradle \
  nodejs \
  ws-cleanup \
  blueocean \
  locale \
  ssh-steps \
  publish-over-ssh \
  pipeline-stage-view \
  pipeline-utility-steps \
  pipeline-maven \
  pipeline-maven-api \
  pipeline-model-api \
  pipeline-model-definition \
  pipeline-model-extensions \
  workflow-durable-task-step \
  docker-plugin \
  docker-workflow \
  localization-zh-cn

Tag summary

Content type

Image

Digest

sha256:9c6c51a0c

Size

843.4 MB

Last updated

15 days ago

docker pull blankhang/jenkins