Jenkins+gitee实现代码自动化构建

450 阅读3分钟

一. 安装环境依赖

 mave (略……)
    配置环境变量后,可查询环境变量路径: `mvn -version` 
    

image.png

 jdk (略……)
    配置环境变量后,可查询环境变量路径: `echo $JAVA_HOME`      

image.png

 git (略……)

二. 安装Jenkins

安装可自行度娘,直接用Linux系统安装,不要使用docker镜像安装,因为出现maven、jdk等环境变量无法识别(后续再研究docker镜像)
  1. 这是 Jenkins 的 Debian 软件包存储库,用于自动安装和升级。要使用此存储库,首先将密钥添加到您的系统:
  curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee \
    /usr/share/keyrings/jenkins-keyring.asc > /dev/null
  1. 然后添加一个 Jenkins apt 存储库条目:
  echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
    https://pkg.jenkins.io/debian binary/ | sudo tee \
    /etc/apt/sources.list.d/jenkins.list > /dev/null
  1. 更新你的本地包索引,然后最后安装 Jenkins。需要显式安装 Java 运行时环境,因为 Oracle 的 Java RPM 不正确并且无法注册为提供 Java 依赖项。因此,在 Java 上添加显式依赖要求将强制安装 OpenJDK JVM
sudo apt-get update
  sudo apt-get install fontconfig openjdk-11-jre
  sudo apt-get install jenkins

可按照官网文档安装Jenkins www.jenkins.io/zh/download…

三. 设置Jenkins

  1. 服务器授权按访问8080端口(自行度娘),根据ip访问Jenkins的默认端口8080
http://ip_xxx:8080
  1. 这时我们应该看到“解锁Jenkins”屏幕,显示初始密码的位置

image.png 在服务器使用cat命令显示密码:

sudo cat /var/lib/jenkins/secrets/initialAdminPassword
  1. 我们将从终端复制32个字符的字母数字密码,并将其粘贴到“管理员密码”字段中,然后单击“继续”。 下一步提供安装建议的插件或选择特定插件的选项。

image.png 4. 我们将点击“安装建议的插件”选项,这将立即开始安装过程:

image.png 5. 安装完成后,我们设置管理用户。

image.png

四. 确认实例配置,开始使用Jenkins

image.png image.png 此时,Jenkins已经安装成功 默认端口是8080,有时候由于端口占用需要修改如下:

  1. 修改 /etc/default/jenkins 文件,将端口 8080 改成 8082
HTTP_PORT=8080
  1. 重启Jenkins
sudo systemctl restart jenkins

参考链接:www.cnblogs.com/xiao9873341…

  1. 安装Gitee插件(系统管理->插件管理->可选插件->筛选Gitee->选中直接安装,安装成功之后重启jenkins服务),其他插件如maven也一样步骤

image.png

4.全局工具配置(系统管理->系统配置-># 全局工具配置)

image.png

image.png

image.png

image.png

image.png

  1. 添加Gitee(码云)链接配置(系统管理->系统配置->Gitee配置)

    • 证书令牌:
      • 点击添加
      • 类型:Gitee API 令牌
      • Gitee APIV5 私人令牌:登录码云情况下,在该浏览器上打开gitee.com/profile/per…
      • 描述:自己定 image.png
  2. 创建一个maven项目

image.png

image.png

image.png

image.png

image.png

image.png

7.Gitee(码云)配置 WebHook

填写WebHook的URL时要注意,如果Jenkins是安装在内网,则需要做内网穿透,将Jenkins服务的ip:port用http映射到外网,同时将服务器 ip:80端口也映射到外网,如下图:

image.png

image.png

image.png

image.png

五.测试项目构建

当我们把代码提交到码云(gitee)上时,这时Jenkins会自动构建,如下图

image.png

image.png

image.png