【笔记】Jenkins学习笔记

前言

通过Docker部署Jenkins,并配置Java部署环境

通过docker-compose部署

1
docker run -d -p 8080:8080 -p 50000:50000 --name=jenkins -v /root/Jenkins/data/:/var/jenkins_home/ jenkins/jenkins
  • 为数据卷添加权限
1
chmod 777 /root/Jenkins/data/

获取初始密码

1
docker logs jenkins
1
2
3
4
5
6
7
8
9
10
11
12
13
14
*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

初始化

Administrator password:从日志中获取的密码

  • Select plugins to install手动选择插件

  • 保持默认的选中项->Install

  • 即便是全部插件下载失败,也直接点击Continue跳过,因为可以稍后重新下载或手动安装插件

  • 创建一个账户

  • 配置Jenkins路径->Save and Finish

  • Start using Jenkins

下载插件

  • Manage Jenkins

  • Manage Plugins

  • 搜索Git Parameter->Install without restart

用来获取Git仓库的代码

  • 搜索Publish Over SSH->Install without restart

用来远程执行Shell命令

配置JDK

  • 将JDK的.tar.gz解压,并将JDK目录放到映射的数据卷根目录
1
2
tar -zxvf jdk-8u202-linux-x64.tar.gz
mv jdk1.8.0_202 /root/Jenkins/data
  • Manage Jenkins

  • Global Tool Configuration

  • 配置JDK->Save

配置Maven

  • 将Maven的.tar.gz解压,并将Maven目录放到映射的数据卷根目录
1
2
tar -zxvf apache-maven-3.9.3-bin.tar.gz
mv apache-maven-3.9.3 /root/Jenkins/data
  • Manage Jenkins

  • Global Tool Configuration

  • 配置Maven->Save

配置SSH

  • 确保已安装Publish Over SSH插件

  • Manage Jenkins

  • System

  • SSH Server

添加项目

拉取代码

  • 确保已安装Git Parameter插件

  • 设置项目名称

  • 设置Git地址,公有仓库可以无需指定密码拉取

  • Build Now

  • 构建完成,会在Jenkins容器内部~/data/workspace/项目名/Git仓库名拉取代码

完成

  • 截图纪念

踩坑

  • Build Now后报错:ERROR: Couldn't find any revision to build. Verify the repository and branch configuration for this job.

原因

  • Jenkins默认配置的Git主分支是master,而部分Git仓库主分支默认是main

解决问题

  • */master改为*/main

参考文献

哔哩哔哩——云原生技术架构
CSDN——上海运维Q先生