gpt4 book ai didi

jenkins - 更改 jenkins 管道以使用 github 而不是 gitlab

转载 作者:行者123 更新时间:2023-12-03 18:31:25 24 4
gpt4 key购买 nike

我有一组在 jenkins 管道中运行的自动化测试,测试代码位于 gitlab 中。
我从 gitlab 中提取代码的部分如下所示:

enter image description here

我使用那里已经存在的 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'
}
}
}

我的问题:

我的自动化测试的代码库最近移到了 github,我很难让它在 jenkins 中工作。对于 github,我有一个需要使用的个人访问 token ,因此没有像 gitlab 那样的私钥。我曾尝试将此 token 添加到凭据管理器,但添加后它没有显示在下拉列表中。

我按照一些演练告诉我为 jenkins 安装 github 插件,然后在 jenkins 配置中设置我的个人访问 token ,如下所示:

enter image description here

我测试了连接,它起作用了。

从这里开始,我不知道如何继续。我只想从代码库中提取代码来运行项目。当代码被推送到 github 时不需要触发构建,因为我的测试是在其他作业完成时触发的。

但是由于我的凭据不在凭据管理器中,我不能只在此处添加新的存储库。这也意味着我不能在这里引用我的 jenkinsfile。

我在某处读到我不得不在这里引用我的 github 项目:
enter image description here
我这样做了,但我认为这还不够。我想我需要从新仓库中的某个地方提取代码,但我不知道在哪里。

这让我想到了我的问题:如何使用我指定的个人访问 token /github 服务器从我的 github 存储库中提取代码?

最佳答案

您可以配置 Jenkins实例与 GithubSSH 的帮助下 key

您只需要创建 SSH公钥和私钥以及过去 public键入

Github > 设置 > SSH/GPC key > 添加公钥
确保您不会添加任何空格和新行

保存并退出 Github

现在去Jenkins* 开始配置您的项目,或转到 credentials > System > Global credentials > Add credentials将打开一个页面

  • Kind下拉选择 SSH Username with private key
  • 检查私钥单选按钮,然后按 Add key按钮,将打开一个文本区域,将您的私钥粘贴到该文本区域中,确保复制私钥并在粘贴时不添加任何空格。确保选择整个 key ,BeginEnd键的文本也。

  • enter image description here

    enter image description here
  • 现在保存并同时配置项目 Source Code Management选项卡,您将找到凭据和下拉列表,从该下拉列表中选择新配置的 key jenkinsSSH .
  • 确保使用 SSH 克隆您的 Github 存储库不是 HTTPS

  • enter image description here

    并构建应用程序。这会起作用

    如需更多引用,请观看此视频教程
    https://www.youtube.com/watch?v=mGXGIOpKAos&list=PLhW3qG5bs-L_ZCOA4zNPSoGbnVQ-rp_dG&index=9

    [更新]

    要使用个人访问 token 克隆 git 存储库,您可以使用以下格式
    https://user:token@github.exampleco.com/org/repo.git喜欢
    git clone https://user:token@github.exampleco.com/org/repo.git
    还有一个与此相同的问题,他提供了一个解决方案,可能对您有所帮助

    Git Clone in Jenkins with Personal Access Token idles forever

    请看一看

    关于jenkins - 更改 jenkins 管道以使用 github 而不是 gitlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60971714/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com