Я хочу оформить ветку и зафиксировать изменения кода, используя скрипт powershell.Этот сценарий powershell будет вызываться из кода c #.
Но иногда я получаю следующую проблему
fatal: remote error: CAPTCHA требуется Ваша учетная запись Bitbucket заблокирована.Чтобы разблокировать его и войти снова, вы должны решить CAPTCHA.Обычно это вызвано слишком большим количеством попыток входа с неверным паролем.Блокировка учетной записи не позволяет вашему клиенту SCM получить доступ к Bitbucket и его зеркалам, пока он не будет решен, даже если вы правильно введете свой пароль.
Если я выйду из браузера и войду снова, введя CAPTCHA, он работаетхорошо.Но если я размещаю свое приложение на сервере и если возникает проблема, выход из системы и повторный вход не являются правильным решением.
Не могли бы вы предложить хороший подход к решению этой проблемы.
Мой код Powershellдля клонирования ветви:
param(
[parameter(position=0)]
[string]$checkoutDirectory,
[parameter(position=1)]
[string]$checkoutBranch
)
function CheckoutTheCode($checkoutRepoUrl, $checkoutDirectory, $checkoutBranch)
{
[hashtable]$Return = @{}
try
{
if(Test-Path -Path $checkoutDirectory )
{
Remove-Item -Recurse -Force $checkoutDirectory
}
New-Item -ItemType directory -Path $checkoutDirectory
# Cloning
git clone --single-branch -b $checkoutBranch $checkoutRepoUrl $checkoutDirectory
$Return.Branch = $checkoutBranch
$Return.Directory = $checkoutDirectory
$Return.Status = $true
$Return.Message = "Success"
}
catch
{
$Return.Message = $Error[0].Exception
$Return.Status = $false
}
Return $Return
}
Мой код Powershell для изменений фиксации:
param(
[parameter(position=0)]
[string]$checkoutDirectory,
[parameter(position=1)]
[string]$commitMessage
)
function CommitTheCode($checkoutDirectory, $commitMessage)
{
[hashtable]$Return = @{}
try
{
cd $checkoutDirectory
git add .
git commit -m $commitMessage
git push
$Return.Status = $true
$Return.Message = "Success"
}
catch
{
$Return.Message = $Error[0].Exception
$Return.Status = $false
}
Return $Return
}
CommitTheCode $checkoutDirectory $commitMessage