Azure 파이프라인:치명적입니다. 'https://github.com '에 대한 사용자 이름을 읽을 수 없습니다. 터미널 프롬프트가 비활성화되었습니다.
zure 빌드 파이프라인에서 dev에서 github public repo의 마스터로 변경 사항을 병합하고 변경 사항을 마스터로 푸시하기 위해 파워셸 작업을 구성했습니다.나는 받는 중입니다.
치명적: 'https://github.com '의 사용자 이름을 읽을 수 없음: 터미널 프롬프트가 비활성화됨
참고:
- 사용자 이름과 이메일 ID로 Gitconfig를 구성했습니다.
- Git 푸시는 내가 파일을 수정하고 commit and push를 할 때 잘 작동하지만 병합 및 push를 할 때 이 오류가 발생합니다.
- 나는 그 지점을 밀고 들어올 충분한 특권을 가지고 있습니다.
이에 대한 어떤 도움이라도 주시면 감사하겠습니다.더 많은 정보가 필요한 경우 이 스레드에서 의견을 제시합니다.
이것이 실제 스니펫입니다.
$branchName = $env:BRANCH_NAME;
Write-Host "Getting SHA for last commit in the latest release" -ForegroundColor Blue;
$latestReleaseCommitSHA = git rev-list --tags --max-count=1;
if([string]::IsNullOrEmpty($latestReleaseCommitSHA)) {
Write-Host "Unable to get the SHA for last commit in latest release" -ForegroundColor Red;
EXIT 1;
}
Write-Host "SHA for last commit in the latest release is '$($latestReleaseCommitSHA)'" -ForegroundColor Green;
Write-Host "Merging Changes till '$($latestReleaseCommitSHA)'" -ForegroundColor Blue;
git merge $latestReleaseCommitSHA
Write-Host "Checking Conflicted Files";
$conflictedFiles = git diff --name-only --diff-filter=U
if (-Not [string]::IsNullOrEmpty($conflictedFiles)) {
Write-Host "Unable to Merge" -ForegroundColor Red;
Write-Host "There are conflicts in below files:" -ForegroundColor Cyan;
Write-Host -Object $conflictedFiles -ForegroundColor Cyan;
EXIT 1;
}
Write-Host "Merged changes to '$($branchName)'" -ForegroundColor Green;
Write-Host "Pushing changes." -ForegroundColor Blue;
git push origin HEAD:$branchName
Write-Host "Pushed the changes to the $($branchName) branch." -ForegroundColor Green;
"서비스 계정"이 내장되어 있으며, 실제로는 PAT라고 합니다.Project Collection Build Service
와 혼동하지 않는Project Collection Build Service Accounts
집단의
보낸 사람: https://marcstan.net/blog/2018/08/31/Mirror-github-gitlab-and-VSTS-repositories/
트리비아: "$env"를 모르는 경우:SYSTEM_ACCESSTOKEN"은 빌드 서버에서 자동으로 생성되며(기본적으로 비활성화됨) 빌드 및 릴리스 내에서 VSTS에 대해 인증할 수 있는 PAT(개인/개인 액세스 토큰)입니다.이를 활성화하려면 빌드 또는 릴리스 정의 내에서 "에이전트 작업"을 선택하고 "추가 옵션" 아래의 "스크립트에서 OAuth 토큰에 액세스할 수 있도록 허용" 확인란을 선택해야 합니다.
이를 위한 두 가지 단계가 있습니다.
1단계
제거하기 위해fatal: could not read username for...
오류, 스크립트가 OAuth 토큰에 액세스하도록 허용해야 합니다.최신 YAML 기반 Azure Pipeline을 사용하는 경우 UI에서 "스크립트가 OAuth 토큰에 액세스할 수 있도록 허용" 옵션을 사용할 수 있습니다.Microsoft의 답변은 여기에 있습니다.YAML 파일에서 (azure-pipelines.yml
), 추가:
steps:
- checkout: self
persistCredentials: true
2단계
OP의 오류를 해결한 후 커밋할 수 없어 다음 오류가 발생했습니다.
remote: 001f# service=git-receive-pack
remote: 0000000000aaTF401027: You need the Git 'GenericContribute' permission to perform this action. Details: identity 'Build\c21ba3ac-5ad4-de50-bc1a-12ee21de21f0', scope 'repository'.
remote: TF401027: You need the Git 'GenericContribute' permission to perform this action. Details: identity 'Build\c21ba3ac-5ad4-de50-bc1a-12ee21de21f0', scope 'repository'.
fatal: unable to access 'https://[username].visualstudio.com/[repo]/_git/[repo]/': The requested URL returned error: 403
우리는 또한 그것에게 허가를 주어야 합니다.위와 같은 페이지에서.사용자 추가 Project Collection Build Service
당신의 레포트(들)를 위하여.
참고: 그룹(2)이 아닌 사용자(1)입니다.
허가:
Contribute: Allow
Create Branch: Allow
Create Tag: Allow (Inherited)
Read: Allow (Inherited)
HTH
당신이 가지고 있는 것과 똑같은 상황은 아니지만 이 게시물이 나의 비슷한 상황에 근접한 유일한 게시물이었기 때문에 나는 여기에 나의 해결책을 추가할 가치가 있다고 생각했습니다.호스트된 Ubuntu Azure Pipeline에서 셸 명령 작업을 실행하여 체크아웃, 편집 및 git에 푸시하는 동안 이 오류가 발생했습니다.
다음 명령으로 푸시를 시도할 때 오류가 발생했습니다.
git push
명령을 다음으로 변경하여 수정했습니다.
git -c http.extraheader="AUTHORIZATION: bearer $(System.AccessToken)" push
$(시스템).AccessToken)은 Azure Pipeline의 미리 정의된 변수입니다. https://learn.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&viewFallbackFrom=vsts&tabs=yaml
왜 그런지는 모르겠지만 당신이 노력할 때.push
나고끝 merge
&password.git를 원합니다.
Azure DevOps는 기본적으로 자격 증명을 입력하라는 메시지를 사용하지 않도록 설정하면 오류가 발생합니다.
를 설정하여 할 수 .GIT_TERMINAL_PROMPT
1
그러나 빌드 중에는 값을 입력할 수 없으며 빌드가 중단됩니다.
& 또는 PAT)을 " "에 하십시오.git push
명령:
git push https://username:password(or PAT)@github.com/username/reponame.git
그https://...
를합니다체를 합니다.origin
.
언급URL : https://stackoverflow.com/questions/55567940/azure-pipelines-i-am-getting-fatal-could-not-read-username-for-https-github
'source' 카테고리의 다른 글
제목 없이 DialogFragment를 만드는 방법은 무엇입니까? (0) | 2023.09.03 |
---|---|
git: 한 레포에서 커밋에 의해 도입된 변경 사항을 다른 레포에 적용합니다. (0) | 2023.09.03 |
MySQL 및 MariaDB - 선행 0이 많은 10진수 값을 나타내는 문자열을 숫자 값으로 캐스팅하면 예기치 않은 결과를 얻을 수 있습니다. (0) | 2023.09.03 |
S3를 통해 Amazon CloudFront에서 gziped CSS 및 JavaScript 제공 (0) | 2023.09.03 |
USB 장치의 데이터베이스 (0) | 2023.09.03 |