Jenkins部署记录

Jenkins + Gitee + Gradle + Docker 2025 最新部署流程,超详细

笔者前段时间在网上翻了很多教程,都无法解决gitee webhooks推送成功,但是Jenkins无响应,无法响应gitee webhooks的问题。 但是后面看了这篇文章 https://www.cnblogs.com/zhixi/p/17947502 给了我思路,换了一种trigger方法,就可以执行了,出现相同问题的可以直接看这篇文章,由于笔者也是花费很多时间才配置好部署的全套流程,本文旨在帮助后来者快速使用Jenkins。

一、Jenkins安装

本教程中所有操作均在Linus服务器中执行。请自备docker环境。确保docker容器配置好镜像源

输入下列命令,安装Jenkins 。

1
2
3
4
5
6
7
8
9
10
11
12
13
docker run \
--name jenkins \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /root/jenkins_home:/var/jenkins_home \
-v /run/docker.sock:/var/run/docker.sock \
-v /root/jdk:/var/jdk \
-v /usr/bin/docker:/usr/bin/docker \
-v /root/gradle:/var/gradle \
jenkins/jenkins:latest

下列是一些数据卷的解释:

  • /root/jenkins_home : 会将Jenkins数据存放到这里

  • /root/jdk : 宿主机java环境映射

  • /usr/bin/docker : 宿主机docker映射

  • /root/gradle : 宿主机gradle映射

出现端口冲突,可自行改为非冲突端口。

如果你们配置的环境变量不同,可改变映射文件夹。

首先确保Jenkins运行中。

我们先进入Jenkins查看日志,将密码记下

1
docker logs -f jenkins

1

浏览器打开 : 服务器地址:8080。(笔者这里更改了访问端口) , 将刚刚复制的密码粘贴,点击继续

2

选择安装推荐的插件

3

等待插件安装完成

4

输入基本信息,点击保存并完成。然后默认下一步,下一步进入主页面。

5

点击设置进入设置界面,然后,点击插件。确保所有的插件更新到最新

6

7

8

二、Jenkins的一些配置

点击全局工具配置

11

1、配置JDK(确保文件夹下有jdk,而且这里的路径是Jenkins容器内部的路径,所以必须要数据卷映射!!下同)

12

2、配置Gradle

13

3、配置Gitee

要使用Gitee,我们需要安装一些插件: Gitee、Generic Webhook Trigger

14

15

访问地址https://gitee.com/profile/personal_access_tokens 添加一个私人令牌。需要记录下来,等等用

18

19

进入系统设置,配置Gitee仓库

16

按照截图填写,然后点击添加,我们添加一个Gitee令牌

17

Gitee APIV5 这里填写刚刚复制的私人令牌

21

点击测试,左下角显示成功即可。记得点保存

20

三、Jenkins使用

1、点击新建Item,我们先新建一个Jenkins项目。

92、选择Freestyle project

10

3、按照截图设置:

22

4、配置需要拉取的仓库地址

26

24

没报错就行。

25

5、配置Trigger

按顺序进入,生成一个token。记录下token。

27

30

28

29

打开Generic Webhook Trigger,输入刚刚生成的token。

31

仓库的webhooks配置如下:

32

例子:

1
http://服务器地址/generic-webhook-trigger/invoke?token=刚刚生成的token

然后点击添加应该就行。我们可以查看是否正在构建

33

紧接着就可以配置Build Step了。 需要注意的是,这里配置的Shell命令是在Jenkins内部容器中运行的,而不是宿主机。所以我们可以进入Jenkins容器内部测试完,再将命令行代码填入生成。

1
2
#进入容器,然后在容器中测试我们需要Jenkins帮我们执行的命令行指令
docker exec -it jenkins bash

34

每个人写的Shell命令行不一样,所以我这里不详细展示了。这样大家如果配置好,以后每次代码传到gitee上,就可以自动部署。

35