- 知识准备
https://blog.csdn.net/tongxin_tongmeng/article/details/126991393 - 镜像下载
https://hub.docker.comdocker pull jenkins/jenkins:lts-jdk11
- 镜像启动
1.创建挂载目录/opt/jenkins_home并赋777权限 mkdir -m 777 /opt/jenkins_home 2.镜像ID挂载启动(访问端口9090) docker run -it -v /opt/jenkins_home:/var/jenkins_home -p 9090:8080 -p 50000:50000 --name jenkins_9090 镜像ID 启动结束返回宿主机:Ctrl+P+Q 3.防火墙开放端口9090 firewall-cmd --zone=public --add-port=9090/tcp --permanent firewall-cmd --reload firewall-cmd --query-port=9090/tcp
-
容器安装jdk、git、nodejs、maven
https://pan.baidu.com/s/120z12b0-clhcpxQ2G1mOZw?pwd=h4sg1.安装包上传宿主机/opt目录 2.创建安装目录并赋权777 mkdir -m 777 /opt/java /opt/git /opt/nodejs /opt/maven /opt/maven/repository 3.安装包批量解压并删除 cd /opt && ls *.tar.gz | xargs -n1 tar zxvf && rm -rf *.tar.gz 4.安装包移入指定目录并重命名 mv /opt/jdk-11.0.11 /opt/java/jdk_11.0.11 mv /opt/git-2.37.3 /opt/git/git_2.37.3 mv /opt/node-v16.14.2-linux-x64 /opt/nodejs/node_16.14.2 mv /opt/apache-maven-3.8.6 /opt/maven/maven_3.8.6 5.git依赖、编译、安装、卸载旧版本 yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker cd /opt/git/git_2.37.3 && make prefix=/opt/git/git_2.37.3 all && make prefix=/opt/git/git_2.37.3 install && yum remove -y git
1.安装包复制到容器/opt目录 docker cp /opt/java 容器ID:/opt docker cp /opt/git 容器ID:/opt docker cp /opt/nodejs 容器ID:/opt docker cp /opt/maven 容器ID:/opt 2.进入容器并为安装目录赋权777 docker exec -it --user root 容器ID /bin/bash chmod -R 777 /opt/java chmod -R 777 /opt/git chmod -R 777 /opt/nodejs chmod -R 777 /opt/maven
1.安装vim-->apt update && apt -y install vim 编辑:Insert、不保存并退出:Esc-->:q!-->Enter、保存并退出:Esc-->:wq!-->Enter 2.编辑/etc/profile-->vim /etc/profile # 设置java环境变量 export JAVA_HOME=/opt/java/jdk_11.0.11 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=$JAVA_HOME/lib # 设置git环境变量 export GIT_HOME=/opt/git/git_2.37.3 export PATH=$PATH:$GIT_HOME/bin export PATH=$PATH:$GIT_HOME/libexec/git-core # 设置nodejs环境变量 export NODE_HOME=/opt/nodejs/node_16.14.2 export PATH=$PATH:$NODE_HOME/bin # 设置maven环境变量 export MAVEN_HOME=/opt/maven/maven_3.8.6 export PATH=$PATH:$MAVEN_HOME/bin 3.编辑/root/.bashrc-->vim /root/.bashrc # 容器启动时自动加载/etc/profile source /etc/profile 4.编辑maven配置文件-->vim /opt/maven/maven_3.8.6/conf/settings.xml <localRepository>/opt/maven/repository</localRepository> <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> 5.安装cnpm-->source /etc/profile && npm install -g cnpm -registry=https://registry.npm.taobao.org 6.安装校验-->java -version && git --version && node -v && npm -v && mvn --version
-
Jenkins初始化
http://192.168.1.239:9090 - Jenkins环境变量
1.容器环境变量-->docker exec -it --user root 容器ID /bin/bash-->echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/java/jdk_11.0.11/bin:/opt/git/git_2.37.3/bin:/opt/git/git_2.37.3/libexec/git-core:/opt/nodejs/node_16.14.2/bin:/opt/maven/maven_3.8.6/bin 2.Jenkins环境变量-->Dashboard>Manage Jenkins>System Configuration>Configure System>全局属性>环境变量-->path:容器环境变量
-
Jenkins一键打包
# 打印当前路径 pwd # 前端配置文件覆盖 cp ./trunk/jenkins/dev/index.html ./trunk/ant-design-vue-jeecg/public/index.html cp ./trunk/jenkins/dev/index.js ./trunk/ant-design-vue-jeecg/src/router/index.js cp ./trunk/jenkins/dev/request.js ./trunk/ant-design-vue-jeecg/src/utils/request.js # 后端配置文件覆盖 # -------------------------------------------------------------------------------开发环境 cp ./trunk/jenkins/dev/pom.xml ./trunk/jeecg-boot/jeecg-boot-module-system/pom.xml cp ./trunk/jenkins/dev/application.yml ./trunk/jeecg-boot/jeecg-boot-module-system/src/main/resources/application.yml cp ./trunk/jenkins/dev/application-dev.yml ./trunk/jeecg-boot/jeecg-boot-module-system/src/main/resources/application-dev.yml cp ./trunk/jenkins/dev/WebMvcConfiguration.java ./trunk/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java # -------------------------------------------------------------------------------生产环境 # cp ./trunk/jenkins/prod/pom.xml ./trunk/jeecg-boot/jeecg-boot-module-system/pom.xml # cp ./trunk/jenkins/prod/application.yml ./trunk/jeecg-boot/jeecg-boot-module-system/src/main/resources/application.yml # cp ./trunk/jenkins/prod/WebMvcConfiguration.java ./trunk/jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/config/WebMvcConfiguration.java # 前端安装、打包 cd ./trunk/ant-design-vue-jeecg cnpm install npm run build cd ./../../ # dist目录下文件复制到static目录 cp -r ./trunk/ant-design-vue-jeecg/dist/* ./trunk/jeecg-boot/jeecg-boot-module-system/src/main/resources/static/ # 后端清理、编译、安装、打包 cd ./trunk/jeecg-boot mvn clean mvn compile mvn install mvn package
-
Jenkins镜像备份
https://blog.csdn.net/tongxin_tongmeng/article/details/1271189441.挂载目录/opt/jenkins_home拷贝到容器/opt目录 docker cp /opt/jenkins_home 容器ID:/opt 注:不能拷贝到/var/jenkins_home,/var/jenkins_home为Jenkins容器默认的工作目录, Jenkins容器创建时该目录会被重新初始化,导致数据丢失,挂载目录备份到容器/opt目录后 将容器打包为新镜像并被备份到阿里云,新镜像从阿里云仓库拉取后,先使用新镜像非挂载方 式创建临时容器A,将备份数据从容器A拷贝回宿主机/opt,然后删除临时容器A,最后使用新 镜像挂载 拷贝到宿主机的备份数据/opt/jenkins_home 创建容器B,这样创建的容器B数据和 新镜像原始容器一致 2.docker commit -a='作者' -m='备注' 容器ID 仓库名称:[TAG] 注:容器打包为镜像前不可删除容器源镜像,否则无法进行镜像打包 3.镜像备份阿里云 docker login --username=童心同萌 registry.cn-hangzhou.aliyuncs.com docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/test_666/jenkins:[镜像版本号] docker push registry.cn-hangzhou.aliyuncs.com/test_666/jenkins:[镜像版本号]
-
Jenkins备份镜像使用
1.阿里云拉取镜像 docker login --username=童心同萌 registry.cn-hangzhou.aliyuncs.com docker pull registry.cn-hangzhou.aliyuncs.com/test_666/jenkins:[镜像版本号]
2.非挂载方式创建临时容器A docker run -it 镜像ID
3.备份数据从临时容器A拷贝到宿主机/opt、挂载目录/opt/jenkins_home赋权777、删除临时容器A docker cp 容器ID:/opt/jenkins_home /opt && chmod -R 777 /opt/jenkins_home && docker rm -f 容器ID 4.挂载备份数据/opt/jenkins_home创建容器B docker run -it -v /opt/jenkins_home:/var/jenkins_home -p 9090:8080 -p 50000:50000 --name my_jenkins_9090 镜像ID 5.防火墙打开端口权限 firewall-cmd --zone=public --add-port=9090/tcp --permanent firewall-cmd --zone=public --add-port=50000/tcp --permanent firewall-cmd --reload 6.访问测试:192.168.1.239:9090-->备份数据已经恢复
Docker安装Jenkins(通关版)
于 2022-09-26 00:02:21 首次发布