Terraform Git克隆似乎不適用于GITHUB_TOKEN,但在使用PAT時有效

我正在添加一個Github操作工作流,以執行地形命令作為管道的一部分。

terraform代碼指的是來自另一個repo的terraform模塊,如下所示。

module <moduleName> {
  source                   = "git::git@github.com:<orgName>/<moduleRepo>.git//<modulePath>?ref=<moduleTag>" 
  ...
}

這將導致在terraform init命令執行期間從給定標記獲取代碼。

確保使用https url而不是SSH git url。我將覆蓋git配置url,如下所示。

git config --global url."https://oauth2:$GITHUB_TOKEN@github.com/<orgName>/<moduleRepo>.git".insteadOf "ssh://git@github.com/<orgName>/<moduleRepo>.git"

但是GITHUB_TOKEN不允許git克隆,這將失敗,并出現以下錯誤:

remote: Invalid username or password.
fatal: Authentication failed for
'https://github.com/<repoName>/<moduleRepo>.git/'

我還嘗試向存儲庫的工作流添加權限,如下所示:

permissions:
  repository-projects: read

操作的repo設置設置為:Allow all actions and reusable workflows

如果我使用repo權限更改PAT的GITHUB_TOKEN,則工作流將不會出現任何問題。

請讓我知道如何使用所需權限配置GITHUT_TOKEN。我想讓它與GITHUB_TOKEN而不是PAT一起工作。

? 最佳回答:

最終,我找到了問題所在。GITHUB_TOKEN作為秘密而不是環境變量提供給Github Action工作流。

問題是我把它當作一個環境變量來使用,這導致了錯誤。

我更改了工作流程如下,將其作為機密使用。

jobs:
  <jobName>:
      env:
        GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

我更新了git配置如下,以正確使用令牌:

git config --global url."https://oauth2:$GH_TOKEN@github.com/<orgName>/<moduleRepo>.git".insteadOf "ssh://git@github.com/<orgName>/<moduleRepo>.git"

工作流現在似乎工作正常。

The usage is documented here: https://docs.github.com/en/rest/guides/getting-started-with-the-rest-api#authentication-example-for-github-actions

在這里添加我的答案,以幫助其他面臨類似問題的人。

主站蜘蛛池模板: 2020天堂中文字幕一区在线观| 日韩免费无码视频一区二区三区| 一区二区三区视频| 亚洲福利一区二区精品秒拍| 精品成人av一区二区三区| 无码人妻精品一区二区三区99性| 小泽玛丽无码视频一区| 国产成人精品视频一区| 日本美女一区二区三区| 人妻无码一区二区三区| 国产婷婷一区二区三区| 国产免费一区二区三区不卡 | 熟妇人妻一区二区三区四区| 东京热无码av一区二区| 韩国一区二区视频| 国产一区二区三区视频在线观看| 合区精品久久久中文字幕一区| 亚洲综合一区二区| 久久毛片一区二区| 国产福利一区二区三区在线观看| 久久一区二区明星换脸| 色噜噜狠狠一区二区三区果冻| 久久综合精品不卡一区二区| 国产视频一区在线观看| 亚洲一区中文字幕| 成人免费一区二区三区在线观看| 国精产品一区一区三区有限公司| 在线成人综合色一区| 一级毛片完整版免费播放一区| 国产高清精品一区| 精品无码成人片一区二区98| 亚洲一区二区三区久久久久| 波多野结衣一区在线| 亚洲一区免费在线观看| 国产精品无码一区二区三区在| 精品视频午夜一区二区| 麻豆文化传媒精品一区二区| 波多野结衣中文字幕一区| 国产福利精品一区二区| 精彩视频一区二区三区| 久久er99热精品一区二区|