(四)Jenkins·让 Jenkins 获得远程代码仓库 Github 的读取权

本文详细介绍如何通过配置Jenkins来获取GitHub仓库代码的权限。包括生成和个人访问令牌、配置GitHub服务器及凭证等步骤。

前言

首先延续上一阶段的内容,在安装好 Jenkins 之后,我们增加关于 JDK、Maven 和 Git 的统一配置,本文将介绍如何让 Jenkins 获得 Github 仓库代码的权利。

获取 Github 的 Personal access tokens

我们使用 Jenkins 获得读取 Github 仓库的权利,这个时候可以通过 Github 来产生一个随机字符串作为凭证,事实上,根据你的需要,这个凭证可以取得的权限非常多。

位置和操作

Settings / Developer settings /Personal access tokens
然后点击按钮 Generate new token
填写描述信息,这里我描述为 token for jenkins
并勾选下面的复选框,有两块
Generate token

这里写图片描述

得到 token

把复选框里的字符串保存下来,这个页面只会出现一次,我们获取到了 token

这里写图片描述

配置GitHub Servers

打开 系统管理/系统设置

这里写图片描述

配置 GitHub Server

Name:自定义
API URL:https://api.github.com 保持默认不变即可
Manage hooks:勾选
点击 Add 添加凭证(其实这个凭证可以直接在 Jenkins 凭证中直接管理)

这里写图片描述

配置 Github 凭证-token

类型:Secret text
Secret: 即上面从 Github 上得到的 token
ID 和描述可以自定义
添加

这里写图片描述

配置 Credentials 为刚添加的凭证

选择 Credentials
点击 test connection 验证

这里写图片描述

参考链接

[1]、https://jingyan.baidu.com/article/5d6edee228c88899ebdeec47.html
[2]、https://jingyan.baidu.com/album/20b68a88875f4c796cec62c3.html?picindex=9
[3]、http://www.cnblogs.com/zanjiahaoge666/p/6374837.html

Jenkins可以使用Pipeline脚本来实现同一个Git仓库代码编译时POM依赖版本动态更新的功能。 具体步骤如下: 1. 在Jenkins中创建一个Pipeline项目。 2. 在Pipeline脚本中定义一个变量来存储POM文件的路径,例如: ``` def pomPath = "pom.xml" ``` 3. 使用Git插件来拉取代码,例如: ``` stage('Git Clone') { git url: 'https://github.com/xxx/xxx.git', credentialsId: 'xxx', branch: 'master' } ``` 4. 使用Maven插件来读取POM文件,并且使用`readMavenPom`方法将POM文件读取为一个MavenProject对象,例如: ``` def mvnProject = readMavenPom file: pomPath ``` 5. 使用Maven插件来动态更新POM依赖版本。例如,可以使用`mvnProject.dependencies.each`方法遍历所有的依赖,然后使用`dependency.setVersion`方法来设置依赖的版本号,例如: ``` mvnProject.dependencies.each { dependency -> if (dependency.groupId == 'xxx' && dependency.artifactId == 'xxx') { dependency.setVersion('xxx') } } ``` 6. 使用Maven插件来执行Maven打包任务,例如: ``` stage('Maven Build') { withMaven(maven: 'maven-3.6.3', jdk: 'jdk-11') { sh 'mvn clean package' } } ``` 完整的Pipeline脚本示例: ``` pipeline { agent any stages { stage('Git Clone') { git url: 'https://github.com/xxx/xxx.git', credentialsId: 'xxx', branch: 'master' } stage('Maven Update Dependencies') { steps { script { def pomPath = "pom.xml" def mvnProject = readMavenPom file: pomPath mvnProject.dependencies.each { dependency -> if (dependency.groupId == 'xxx' && dependency.artifactId == 'xxx') { dependency.setVersion('xxx') } } mvnProject.write() } } } stage('Maven Build') { steps { withMaven(maven: 'maven-3.6.3', jdk: 'jdk-11') { sh 'mvn clean package' } } } } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值