Jenkins安装和新建maven项目
官方文档:https://www.jenkins.io
中午文档:https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/
安装需求
机器要求:
256 MB 内存,建议大于 512 MB
10 GB 的硬盘空间(用于 Jenkins 和 Docker 镜像)
需要安装以下软件:
Java 8 ( JRE 或者 JDK 都可以)
Docker (导航到网站顶部的Get Docker链接以访问适合您平台的Docker下载)
安装JDK
1. 检索可用包
yum search java | grep jdk
2. 安装
# 我这边安装jdk11,因为新版不支持8
yum install -y java-11-openjdk
# 开发环境也要安装
yum install -y java-11-openjdk-devel
3. 配置环境变量(可选)
vi /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/
export JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
source /etc/profile 立即生效
安装maven
官网地址:https://maven.apache.org/
下载地址:https://maven.apache.org/download.cgi
1. 下载后拖入/root目录,并解压
[root@192 ~]# tar -zxvf apache-maven-3.9.6-bin.tar.gz
# 将目录移入到/usr/local/maven 中
[root@192 ~]# mv apache-maven-3.9.6/* /usr/local/maven/
# 查看maven版本
[root@192 ~]# /usr/local/maven/bin/mvn -v
Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
Maven home: /usr/local/maven
Java version: 11.0.23, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
安装Git
yum install -y git
下载Jenkins
下载地址:https://www.jenkins.io/download/
下载版本:2.452.1 LTS
过去版本下载地址:https://get.jenkins.io/war-stable/
1. 将war包拖入到/root目录下,并后台启动
[root@192 ~]# nohup java -jar jenkins.war &>jenkins.log &
2. 查看是否有进程
[root@192 ~]# ps -ef |grep jenkins
root 16195 1501 99 10:14 pts/0 00:00:44 java -jar jenkins.war
root 16874 1501 0 10:15 pts/0 00:00:00 grep --color=auto jenkins
3. 浏览器访问ip:8080,默认端口是8080
密码提示在:/root/.jenkins/secrets/initialAdminPassword目录下
[root@192 ~]# cat /root/.jenkins/secrets/initialAdminPassword
cdde12c5239341e4877901c695fd9f35
4. 安装推荐插件
5. 设置管理员用户密码,Jenkins访问地址
6. 安装maven插件
7. 新建item
8. maven配置
9. 配置Git地址,选择对应分支
10. 配置pom文件位置,构建后成功执行脚本
注意:jenkins默认会在构建完成后,杀掉构建过程中由shell命令触发的衍生进程。
jenkins根据BUILD_ID识别某个进程是否为构建过程的衍生进程,故修改BUILD_ID后,jenkins就无法识别是否为衍生进程,则此进程能在后台保留运行。
结论就是Jenkins程序只负责运行伪命令行nohup 命令,并不保证是否成功运行 nohup后面的命令。(如果你不加BUILD_ID就会发现命令没生效)
11. 运行