jenkins构建

56 阅读1分钟

一、文件层级

/data/
└── jenkins_script/
    ├── docker-compose.yml
    ├── dockerfile
    └── start_jenkins_server.sh

1.1 dockerfile

FROM jenkins/jenkins:lts

USER root

# 安装 curl、tar、git、sshpass
RUN apt-get update && apt-get install -y curl tar git sshpass && apt-get clean && rm -rf /var/lib/apt/lists/*

# 安装 Temurin OpenJDK 17
RUN curl -fsSL https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.12%2B7/OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz \
    -o /tmp/openjdk17.tar.gz && \
    tar -xzf /tmp/openjdk17.tar.gz -C /opt && \
    rm /tmp/openjdk17.tar.gz

ENV JAVA_HOME=/opt/jdk-17.0.12+7
ENV PATH=${JAVA_HOME}/bin:${PATH}

# 安装 Temurin OpenJDK 8
RUN curl -fsSL https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u372-b07/OpenJDK8U-jdk_x64_linux_hotspot_8u372b07.tar.gz \
    -o /tmp/openjdk8.tar.gz && \
    tar -xzf /tmp/openjdk8.tar.gz -C /opt && \
    rm /tmp/openjdk8.tar.gz

ENV JAVA8_HOME=/opt/jdk8u372-b07

# 安装 Maven
ARG MAVEN_VERSION=3.9.4
RUN curl -fsSL https://archive.apache.org/dist/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
    -o /tmp/maven.tar.gz && \
    tar -xzf /tmp/maven.tar.gz -C /opt && rm /tmp/maven.tar.gz

ENV MAVEN_HOME=/opt/apache-maven-${MAVEN_VERSION}
ENV PATH=${MAVEN_HOME}/bin:${PATH}

USER jenkins

1.2 docker-compose.yml

version: '3'

services:
  jenkins:
    image: jenkins-jdk-maven:latest
    restart: unless-stopped
    container_name: jenkins
    user: root
    ports:
      - "8080:8080"
      - "5000:5000"
    volumes:
      - /data/jenkins_home:/var/jenkins_home
      - /root/.ssh/id_ed25519:/root/.ssh/id_ed25519
      - /root/.ssh/id_ed25519.pub:/root/.ssh/id_ed25519.pub

1.3 start_jenkins_server.sh

# 启动 jenkins 服务

# 构建
docker build -t jenkins-jdk-maven .

# jenkin 数据路径
JENKINS_HOME="/data/jenkins_home"

if [ ! -d "$JENKINS_HOME" ]; then
  echo "目录不存在: $JENKINS_HOME"
  mkdir -p "$JENKINS_HOME"
  echo "创建目录完成"
else
  echo "目录存在: $JENKINS_HOME"
fi

# 赋予权限
chown -R 1000:1000 "$JENKINS_HOME"

# 启动
docker compose up -d

二、启动

[root@localhost jenkins_script]# chmod +x start_jenkins_server.sh

[root@localhost jenkins_script]# ./start_jenkins_server.sh

三、查看密码

[root@localhost jenkins_script]# cat /data/jenkins_home/secrets/initialAdminPassword 
118b816e6ee74f689fcb5756a6ca69eb
[root@localhost jenkins_script]# 

四、检查jdk

[root@localhost jenkins_script]# docker exec -it jenkins /bin/bash
root@46c72f8cecb5:/# java -version
openjdk version "17.0.12" 2024-07-16
OpenJDK Runtime Environment Temurin-17.0.12+7 (build 17.0.12+7)
OpenJDK 64-Bit Server VM Temurin-17.0.12+7 (build 17.0.12+7, mixed mode, sharing)
root@46c72f8cecb5:/#

五、首次登录

首次登录,需要输入密码

http://192.168.186.129:8080

image.png