0

我正在为我的公司设置一个新的 Jenkins 实例。它通过 helm 部署到 GKE,并使用Jenkins Configuration As Code Plugin进行配置。我们将所有代码存储在 Github 组织下的存储库中。

该实例已启动并正在运行,但在 Jenkins 中创建管道时,它要求提供 Github 个人访问令牌。这很糟糕,因为如果有人离开公司,我们需要重新配置他们设置的管道。

我想将 Jenkins 配置为使用“自动化”Github 用户的个人访问令牌。

我认为可以使用Github Branch Source Plugin来完成,但我不知道如何使用Jenkins Configuration As Code来配置它。

我的配置目前看起来像:

    JCasC:
      enabled: true
      PluginVersion: 1.11
      SupportPluginVersion: 1.11
      ConfigScripts:
        welcome-message: |
          jenkins:
            systemMessage: Welcome to our CI\CD server.  This Jenkins is configured and managed 'as code'.
        github-oauth: |
          jenkins:
            securityRealm:
              github:
                githubWebUri: "https://github.com"
                githubApiUri: "https://api.github.com"
                clientID: "<some-id>"
                clientSecret: "<some-secret>"
                oauthScopes: "read:org,user:email,repo"
        github-org-lock: |
          jenkins:
            authorizationStrategy:
              globalMatrix:
                grantedPermissions:
                  - "Overall/Administer:<some-org>"
4

1 回答 1

0

我认为创建凭据应该可以解决您的问题。

这就是我在 JCasC 上管理凭据的方式:

credentials: system: domainCredentials: - credentials: - usernamePassword: scope: GLOBAL id: cred-id username: "<github_username>" password: "<github_access_token>" # Access Token Rights: https://github.com/settings/tokens/new?scopes=repo,read:org,user:email,admin:repo_hook,admin:org_hook description: Account for Repository Discovery

于 2020-03-09T15:20:27.480 回答