环境
- centos 7
- Java 1.8
- maven 3.6.3
- Jenkins 2.46.3
Jenkins 相干依赖环境
Java 环境
尽管咱们是采纳 docker 的形式装置 Jenkins,所有的依赖镜像都曾经打包好了。然而咱们在后续应用 Jenkins 的过程中,会采纳 Jenkins 主机上的 Java 运行环境,所以咱们还是要装置一下 java JDK8、并且配置一下环境变量。
- 下载 Java Jdk tar.gz 包
进入https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
(须要登录 oracle 账号), 抉择jdk-8u202-linux-x64.tar.gz
点击下载即可。 - 将
jdk-8u202-linux-x64.tar.gz
上传至 jenkins 同台服务器,并解压到/usr/local/
目录下,重命名为java
。 -
配置 Java 环境变量,
vim /etc/profile
,在/etc/profile
文件最初追加一下内容。# Java export JAVA_HOME=/usr/local/java export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH
其中
JAVA_HOME=
后的/usr/local/java
更换为本人解压的 jdk 目录门路。 - 从新加载环境变量,
source /etc/profile
-
验证 Java 环境是否筹备实现,
java -version
,如果呈现相似以下内容,即示意胜利。java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
maven 环境
- 进入地址
https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/
,下载 maven3.6.3 压缩包apache-maven-3.6.3-bin.tar.gz
- 上传
apache-maven-3.6.3-bin.tar.gz
到 jenkins 同服务器,并解压到/usr/local/
目录下。 -
配置 Maven 环境变量,批改
/etc/profile
文件,追加以下内容到文件最初。# Maven MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=${MAVEN_HOME}/bin:${PATH}
其中
MAVEN_HOME=
后的/usr/local/apache-maven-3.6.3
更换为本人解压的 maven 目录门路。 - 从新加载环境变量,
source /etc/profile
。 -
验证 Maven 环境是否筹备实现,
mvn -v
,如果呈现相似以下内容,即示意胜利。Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /usr/local/apache-maven-3.6.3 Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: /usr/local/java/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
-
配置 maven 国内镜像、指定 jdk 编译版本。进入
maven 根目录 /conf
,编辑文件settings.xml
。减少以下内容:<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile>
留神要加到对应的地位,例如
<mirror>
相干的配置就搜寻<mirrors>
,加到<mirrors>
中,而<profile>
也是同理。
部署 docker
-
应用国内 daocloud 一键装置命令:
curl -sSL https://get.daocloud.io/docker | sh
可能会呈现一次装置不胜利的状况,多试几次。
-
执行以下命令,启动 docker 服务器和设置 docker 自启动
systemctl start docker systemctl enable docker
- 测试 docker 是否装置胜利,执行命令
docker pull hello-world
,如果看到有镜像被拉取,这阐明 docker 装置胜利
部署 jenkins(基于 docker)
咱们能够本人在本机上部署 jenkins,也能够应用 docker 进行部署,这次咱们抉择 docker 来部署。
Jenkins 的版本抉择
- Jenkins >= 1.520(LTS 为 1.531.1)须要 Java 6,因而 Maven 作业必须应用 JDK >= 6 启动。
- Jenkins >= 1.612(LTS 为 1.625.1)须要 Java 7,因而 Maven 作业必须应用 JDK >= 7 启动。
- Jenkins >= 2.54(LTS 为 2.60.1)须要 Java 8,因而 Maven 作业必须应用 JDK >= 8 启动。
- 很快(2022 年 7 月至 9 月工夫框架)Jenkins 将须要 Java 11,因而必须应用 JDK >= 11 启动 Maven 作业。
个别咱们企业开发都是采纳 JDK8,所以咱们在抉择 Jenkins 版本的时候,切勿间接应用最新 last 版本。最新的版本也要在 Jenkins 2022 年 7 月之前发行的版本。本次教程,咱们 Jenkins 采纳 2.46.3 版本。
开始在 docker 容器中部署 Jenkins
-
备份一下
/usr/local/java
目录和/usr/local/apache-maven-3.6.3
目录外面的cp -r /usr/local/java /usr/local/java_bak cp -r /usr/local/apache-maven-3.6.3 /usr/local/apache-maven-3.6.3_bak
-
执行以下命令即可:
docker run -d -p 8001:8080 -p 8002:50000 -v /usr/local/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /etc/local/java:/etc/local/java -v /usr/local/apache-maven-3.6.3:/usr/local/apache-maven-3.6.3 --name jenkins jenkins:2.46.3
其中要留神的是:
- 挂载
/usr/local/jenkinsHome
是 jenkins 的主目录 - 挂载
/etc/localtime
目录是为了容器内的 jenkins 与主机工夫统一; - 挂载
/etc/local/java
是同步主机的 java 到容器中的 jenkins(不然前面会有坑) - 挂载
/usr/local/apache-maven-3.6.3
是同步主机的 maven 到容器中的 jenkins(不然前面会有坑)
上面是命令的解释:
docker run -d -p 8001:8080\ # 将容器中的端口 8080,挂载到主机端口 8001 -p 8002:50000\ # 将容器中的端口 50000,挂载到主机端口 8002 -v /usr/local/jenkins:/var/jenkins_home\ # 将容器中的目录 /var/jenkins_home,挂载到主机目录 /usr/local/jenkins -v /etc/localtime:/etc/localtime\ # 将容器中的目录 /etc/localtime,挂载到主机目录 /etc/localtime -v /etc/local/java:/etc/local/java\ # 将容器中的目录 /etc/local/java,挂载到主机目录 /etc/local/java -v /usr/local/apache-maven-3.6.3:/usr/local/apache-maven-3.6.3\ # 将容器中的目录 /usr/local/apache-maven-3.6.3,挂载到主机目录 /usr/local/apache-maven-3.6.3 --name jenkins\ # 给容器命名为 jenkins jenkins:2.46.3 # 抉择镜像
- 挂载
-
执行命令
docker ps
,咱们会发现jenkins
并没有被启动起来。这是因为咱们方才挂载的目录,jenkins 容器并没有拜访启动。所以,咱们须要给挂载的目录给予权限。chown -R 1000:1000 /usr/local/java chown -R 1000:1000 /usr/local/apache-maven-3.6.3 chown -R 1000:1000 /usr/local/jenkins chown -R 1000:1000 /etc/localtime
- 查看 jenkins 是否启动胜利,执行命令
docker ps
,查看是否有jenkins
- 在浏览器拜访
http:// 主机 ip:8001
,如果呈现上面页面示意胜利