我正在从Azure DevOps管道更改存储库中的文件。我能够添加和提交这些更改,但是,我在运行git push
命令时遇到了问题。我在一个叫做develop的分支工作,我所有的文件都在根目录下。
azure-pipelines.yml
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
git config --global user.email "user@email.com"
git config --global user.name "User Name"
git add .
git commit -m "Updated README"
git push origin HEAD:develop
这给了我错误:[detached HEAD d646d26]更新自述文件1个文件被修改,3个插入(+),3个删除(-)fatal:无法读取"https://@dev.azure.com"的密码:终端提示被禁用##[错误]PowerShell退出代码'1'.
这是一个权限问题,还是我推到开发分支不正确?还有,是否有更好/更简单的方法来做到这一点?
我认为这是因为您需要持久化您的凭据,我这样做了,但这将取决于您需要管理的分支:
stages:
- stage: create_file
jobs:
- job: copy_vm_template
steps:
- checkout: self
persistCredentials: true
- script: |
git checkout -b main
echo Creating directory
mkdir ./linuxvm/$(echo ${{parameters.vm_name}})
echo Creating vm file
cp ./linuxvm/template/vm.tf ./linuxvm/$(echo ${{parameters.vm_name}})/$(echo ${{parameters.vm_name}}).tf
git config --global user.email "your_mail@test.com"
git config --global user.name "your_user"
git status
git add linuxvm/$(echo ${{parameters.vm_name}})
git commit -m "Your message"
git push origin main
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://learn.microsoft.com/azure/devops/pipelines/languages/javascript
trigger:
- master
- azure-pipelines
pr: none
pool:
vmImage: "macos-latest"
jobs:
- job: Perform_Commit_From_CI
steps:
- checkout: self
persistCredentials: true #Important - Persist creds to run further git command
clean: true
- task: NodeTool@0
inputs:
versionSpec: "16.13.2"
displayName: "Install Node.js"
- script: |
git config --global user.email test@gmail.com
git config --global user.name "Test User"
displayName: Configure git
- script: |
yarn install
yarn start NAME_OF_THE_SCRIPT_YOU_WANT_TO_EXECUTE
git add -A
git commit -m 'Test commit [skip ci]'
git push origin HEAD:your-branch-name-here
displayName: "Test Script"
如果没有PAT