我有一组在 jenkins 管道中运行的自动化测试,测试代码位于 gitlab 中。我从 gitlab 中提取代码的部分如下所示:
我使用那里已经存在的 gitlab 凭据(因为其他项目使用相同的 gitlab 凭据)。
我使用一个位于测试代码库中的简单 jenkinsfile 从这里运行脚本。大致是这样的:
agent {
kubernetes {
defaultContainer 'jnlp'
yaml """
apiVersion: v1
kind: Pod
metadata:
labels:
application: auto_ish
spec:
containers:
- name: node
image: node:12.14.1
command:
- cat
tty: true
"""
}
}
stages {
stage('Build') {
steps {
container('node') {
sh '''
npm install
'''
}
}
}
stage('Test') {
steps {
container('node') {
sh 'node_modules/.bin/wdio ./test/config/wdio.conf.acc.js --suite SmokeTest --mochaOpts.grep=@smoke'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
我的自动化测试的代码库最近移到了 github,我很难让它在 jenkins 中工作。对于 github,我有一个需要使用的个人访问令牌,因此没有像 gitlab 那样的私钥。我曾尝试将此令牌添加到凭据管理器,但添加后它没有显示在下拉列表中。
我按照一些演练告诉我为 jenkins 安装 github 插件,然后在 jenkins 配置中设置我的个人访问令牌,如下所示:
我测试了连接,它起作用了。
从这里开始,我不知道如何继续。我只想从代码库中提取代码来运行项目。当代码被推送到 github 时不需要触发构建,因为我的测试是在其他作业完成时触发的。
但是由于我的凭据不在凭据管理器中,我不能只在此处添加新的存储库。这也意味着我不能在这里引用我的 jenkinsfile。
我在某处读到我不得不在这里参考我的 github 项目:
我这样做了,但我认为这还不够。我想我需要从新仓库中的某个地方提取代码,但我不知道在哪里。
这让我想到了我的问题:如何使用我指定的个人访问令牌/github 服务器从我的 github 存储库中提取代码?。
您可以在key的帮助下配置Jenkins实例GithubSSH
您只需要创建SSH公钥和私钥以及过去的public密钥
Github > Settings > SSH/GPC key > Add public key 确保你不会添加任何空格和新行
保存并退出 Github
现在转到Jenkins
* 开始配置您的项目,或者转到credentials> System> Global credentials>Add credentials将打开一个页面
Kind下拉选择SSH Username with private key Add key按钮,将打开一个文本区域,将您的私钥粘贴到该文本区域中,确保复制私钥并在粘贴时不添加任何空格。确保您选择了整个密钥,Begin以及End密钥的文本。现在保存并在配置项目Source Code Management选项卡时,您将找到凭据和下拉列表,从该下拉列表中选择新配置的密钥jenkinsSSH。
确保您使用SSHnot克隆您的 Github 存储库HTTPS
并构建应用程序。这会起作用
如需更多参考,请观看此视频教程 https://www.youtube.com/watch?v=mGXGIOpKAos&list=PLhW3qG5bs-L_ZCOA4zNPSoGbnVQ-rp_dG&index=9
[更新]
要使用个人访问令牌克隆 git 存储库,您可以使用以下格式
https://user:token@github.exampleco.com/org/repo.git
喜欢
git clone https://user:token@github.exampleco.com/org/repo.git
还有一个与此相同的问题,他提供了一个解决方案,可能对您有所帮助
带有个人访问令牌的 Jenkins 中的 Git Clone 永远闲置
请看一看
经过一番激烈的谷歌搜索后,我找到了答案,事实证明这比我想象的要容易得多:
显然,至少就詹金斯而言,个人访问令牌可以像密码一样使用。我向凭证管理器添加了新凭证,选择类型“用户名和密码”,输入不存在的用户名(“用户”),并将个人访问令牌放入密码字段。
这样我就可以像以前一样从下拉列表中选择凭据,并且项目可以毫无问题地克隆
| 归档时间: |
|
| 查看次数: |
5255 次 |
| 最近记录: |