基础环境信息
服务器 IP: 192.168.253.129 192.168.253.137
环境:Kylin v10, Jenkins: jenkins:2.541.2-lts, Gitea: gitea:1.21.4, Nodejs: v20.19.0, yarn: yarn-v1.22.22, jdk: jdk-17.0.9, docker, docker-compose。
注:由于是离线环境,以上都需要准备好二进制安装包或者从有网环境导出 docker 镜像。下面提供一个 /etc/docker/daemon.json 国内镜像加速配置示例:
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com"
],
"insecure-registries": [],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
1. 环境准备
192.168.253.129 项目根目录:/app
jenkins 映射目录:/usr/docker/jenkins_data
# 时间同步
ntpdate ntp.aliyun.com
# JDK17 安装
cd /app
tar xf ibm-semeru-open-jdk_x64_linux_17.0.9_9_openj9-0.41.0.tar.gz
vim /etc/profile
JAVA_HOME=/app/jdk-17.0.9
PATH=/bin:
/etc/profile
java -version
tar -xvf docker-24.0.9.tgz
docker/* /usr/bin/
vim /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl start docker
systemctl docker
docker run -d \
-p 8082:8080 \
-p 50000:50000 \
--dns 8.8.8.8 \
--dns 114.114.114.114 \
-v /usr/docker/jenkins_data:/var/jenkins_home \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-e JAVA_OPTS= \
--restart=on-failure \
-u 0 \
--name myjenkins \
jenkins/jenkins:2.541.2-lts
docker logs
unzip plugins.zip -d /usr/docker/jenkins_data/plugins/
/app/
maven
maven && tar xf apache-maven-3.9.12-bin.tar.gz
-r /app/maven/apache-maven-3.9.12 /usr/docker/jenkins_data/
vim /etc/profile
MAVEN_HOME=/app/maven/apache-maven-3.9.12
PATH=/bin:
/etc/profile
vim /usr/docker/jenkins_data/apache-maven-3.9.12/conf/settings.xml
<!-- localRepository | The path to the repository maven will use to store artifacts.
Default: /.m2/repository
<localRepository>/path/to/local/repo</localRepository> -->
<localRepository>/var/jenkins_home/maven_repository</localRepository>
/usr/docker/jenkins_data/ && maven_repository && maven_repository
unzip repository.zip
repository maven_repository
node_modules 迁移
/app
tar xf node-v20.19.0-linux-x64.tar.gz
node-v20.19.0-linux-x64 node-v20.19.0
vim /etc/profile
NODE_HOME=/app/node-v20.19.0
PATH=/bin:
/etc/profile
node -v
npm -v
-r /app/node-v20.19.0 /usr/docker/jenkins_data/
/usr/docker/jenkins_data/
tar xf yarn-v1.22.22.tar.gz
docker -it -u root myjenkins -s /var/jenkins_home/yarn-tool/bin/yarn /usr/local/bin/yarn
docker -it myjenkins yarn -v
docker -it -u root myjenkins -s /var/jenkins_home/node-v20.19.0/bin/node /usr/local/bin/node
docker -it -u root myjenkins -s /var/jenkins_home/node-v20.19.0/bin/npm /usr/local/bin/npm
docker -it myjenkins yarn -v
-p /usr/docker/jenkins_data/frontend_cache/node_modules
frontend_cache/node_modules/
unzip node_modules.zip

