2017-10-02 8 views
1

나는 트래비스 스테이지를 사용하고 있으며 배포를위한 전제 조건으로 어떻게 든 결과를 포함하려고합니다.Travis + Appveyor

이미이 작업을 수행 할 수있는 통합 또는 스크립트가 있습니까? python이 이상적입니다.

답변

2

이렇게하면 AppVeyor 빌드를 시작하고 결과를 기다리는 데 도움이 될 수 있습니다. 죄송합니다 PowerShell에 익숙하지만 Python으로 쉽게 변환 할 수 있어야합니다.

$token="<Your_api_token>" 
$accountName="<Your_account>" 
$projectSlug="<Your_project_slug>" 
$branch="<Your_branch>" 
$commitId="<Your_commit_id>" 

$headers = @{ 
    "Authorization" = "Bearer $token" 
    "Content-type" = "application/json" 
} 

$body = @{ 
    accountName=$accountName 
    projectSlug=$projectSlug 
    branch=$branch 
    commitId=$commitId 
} 

$body = $body | ConvertTo-Json 

$newBuild = Invoke-RestMethod -Uri 'https://ci.appveyor.com/api/builds' -Headers $headers -Body $body -Method POST 

$success = $false; 
while(!$success) { 
$status = (Invoke-RestMethod -Uri "https://ci.appveyor.com/api/projects/$accountName/$projectSlug/build/$($newBuild.version)" -Headers $headers -Method GET).build.status 
write-host "Status: $status" 
$success = $status -eq "success" 
if (($status -eq "failed") -or ($status -eq "cancelled")) {throw} 
sleep 2 
} 
+0

걱정할 필요가 없습니다. 제가 리눅스를 요구 한 이유는 Travis를 주요 CI 서버로 유지하기 위해서입니다. 하지만 그렇습니다. 귀하의 예는 매우 유용합니다. – purpletentacle

+0

궁금합니다. 프로덕션에서 이것을 사용하고 있습니까? – purpletentacle

+0

무엇? 이 스크립트? 아니, 그냥 너를 위해 함께 넣었 어. 프로덕션에서는'while' 루프에 추적 및 시간 초과를 추가합니다. – ilyaf