Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目

前置:

1、安装配置jdk、maven、git环境变量,安装方式这里不再赘述(这是前提),请参考:
1】Java:Linux系统安装jdk11环境配置_拄杖忙学轻声码的博客-CSDN博客_linux安装jdk11并配置环境变量
2】Maven:Linux CentOS 8.x 安装Maven教程_拄杖忙学轻声码的博客-CSDN博客
3】Git:Linux CentOS 8.x 安装Git_拄杖忙学轻声码的博客-CSDN博客

需要挂载到 Jenkins 容器中、配置环境变量

一、安装Jenkins并登入,找到系统管理-》全局工具配置
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第1张图片

Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第2张图片

二、配置 jdk、maven、git 环境变量,这些环境变量需要已在容器中安装配置

1、配置JDK
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第3张图片

2、配置Maven
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第4张图片


这里注意(也可以不配置,使用默认的):
需要配置maven的本地仓库地址,也就是 setting.xml 文件中配置的 //x/xx 地址
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第5张图片

3、配置Git,注意这里是git的可执行路径,不是环境变量
 Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第6张图片

三、安装插件,点击系统管理-》插件管理

1、找到插件管理
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第7张图片

2、安装 Gitee 插件,找到可选插件tab,搜索gitee (此插件非必须)
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第8张图片

3、安装 Maven 插件,找到可选插件tab,搜索maven
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第9张图片

4、安装 Git Parameter Plug-In 插件,用于添加git参数,找到可选插件tab,搜索git param
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第10张图片

5、安装 Environment Injector 插件,搜索 inject
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第11张图片

此插件的作用:
【1】支持自定义环境变量,并把自定义变量注入到构建过程中
【2】在shell脚本中可以使用 $a、$b的方式使用环境变量
【3】例如:
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第12张图片

6、安装 Conditional BuildStep 插件,找到可选插件tab,搜索BuildStep或steps
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第13张图片

说明:
【1】此插件作用是,添加构建步骤的前置条件,可以用作执行 shell 命令之前设置构建状态
【2】设置只有构建成功才执行 shell 命令或脚本文件
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第14张图片

 

7、安装 Publish over SSH 插件,找到可选插件tab,搜索ssh
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第15张图片

说明:
【1】此插件可以支持添加其他远程服务器,进行执行 shell 命令或脚本文件

四、添加Gitee(码云)链接配置(系统管理->系统配置->Gitee配置)(此步骤非必须,也可以不配置)

1、gitee配置位置
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第16张图片

2、 填写gitee名称和域名
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第17张图片

3、点击添加gitee访问令牌 
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第18张图片

4、令牌添加好之后,点击测试显示成功
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第19张图片

五、创建一个自由风格的测试任务

1、命名testDocker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第20张图片

2、填写任务信息(Gitee链接可以不选)
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第21张图片

说明:
(1):如果需要参数化构建项目,需要勾选》参数化构建过程,然后选择 Git参数 ,即可获得该项目的分支或标签信息,示例请参考:Jenkins之Git参数化构建项目_拄杖忙学轻声码的博客-CSDN博客

3、添加Git代码仓库地址(支持Gitlab、GitCode等)、用户账号密码信息等
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第22张图片【1】 指定分支如果是参数化构建,可以使用 $Branch
【2】如果不是参数化构建,直接填写分支名 */master

Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第23张图片

4、构建触发器(如果不需要每次推送、新建分支等操作都触发部署,可以忽略WebHook触发器)
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第24张图片

点击生成web hook密码
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第25张图片

5、需要把上面的路径、生成的 gitee webhook 密码配置到项目
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第26张图片

6、自定义构建环境变量,安装Environment Injector插件后,勾选“将环境变量注入构建过程”
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第27张图片

说明:
【1】在 shell 脚本中可以使用变量 $a、$b 等
【2】Delete workspace before build starts 此选项看情况选择

7、添加配置构建步骤》调用顶层Maven目标
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第28张图片

Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第29张图片

【1】目标:clean package -DskipTests -U
【2】POM:pom.xml
【3】配置文件:settings.xml 文件使用默认就行

8、构建执行步骤,这里执行 shell
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第30张图片

特别说明:
(1):默认在 jenkins_home 目录下的工作空间中的任务项目下执行
(2):例如此 shell 脚本就在 /var/jenkins_home/workspace/test 目录下执行
(3):因为我们在创建jenkins容器的时候,把jenkins_home挂载到了宿主机,所以也就等于在宿主机的 jenkins_home/workspace/test 项目下执行

9、点击立即构建
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第31张图片

Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第32张图片

六、下面是我遇到的报错信息(如果shell中没有用到git命令,可以忽略此步骤)

1、
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第33张图片

2、Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第34张图片 

 报上面这样的错误一般是没有创建目录、项目没有克隆下来、没有初始化加入git版本管理、本地分支没有关联远程分支、没有加入远程控制、需要输入gitee的用户名密码等一系列问题

解决方式如下:
(1):进入容器创建此目录,并且进入此目录执行 git init 命令,把此目录加入到 git 版本管理

(2):创建目录后,需要使用 git clone -b 分支名 xxx.git 命令把项目克隆下来:

git clone -b 分支名 xxx.git


(3):需要把本地分支和远程分支关联起来,命令如下:
语法:git branch --set-upstream-to=origin/远程分支名 本地分支名

# 本地分支关联远程分支
git branch --set-upstream-to=origin/master master


(4):再把项目源加入到远程控制,命令如下:

git remote add origin https://gitee.com/xxx.git


(5):设置 git 操作项目时候需要用的用户名和密码,命令如下:

# 第1步执行
git config --global credential.helper store

# 第2步执行
git push origin master
或者
git pull

(6):执行上述命令,会让你输入用户名和密码,这时你输入就好了,下次再 git push/pull 的时候就不用密码了。jenkins重新构建就行了

(7):如果出现基线库错乱的问题
You can replace "git config" with "git config --global" to set a default
执行如下命令之一,告诉git如何操作不同名字的分支

git config pull.rebase false  # merge (the default strategy)
git config pull.rebase true   # rebase
git config pull.ff only       # fast-forward only

3、解决上述问题之后,jenkins重新构建,成功
Docker+Jenkins+Gitee详细配置Jdk、Git、Maven环境变量,构建Git项目_第35张图片

至此:
一个简单的 docker + maven + git + gitee 构建项目demo就完成了

总结:
1、Jenkins使用的 java、maven、git、docker 等都是来自宿主机挂载到Jenkins容器内部,容器内再配置环境变量
2、Jenkins容器中使用的 docker 来自宿主机中安装的 docker,在创建jenkins容器的时候把 docker.sock 权限交给 Jenkins 容器,从而实现在 Jenkins 容器内部也可以直接操作docker命令

你可能感兴趣的:(Jenkins持续集成,Docker,Podman和K8s,jenkins,docker)