Travis-CI를 사용하면 GitHub에 새로운 커밋을 푸시하지 않고도 재 구축을 시작할 수 있습니까?
사용 사례 : 외부 성으로 인해 빌드가 실패합니다. 소스는 실제로 정확합니다. 단순히 다시 실행하면 OK를 빌드하고 전달합니다.
예를 들어, apt-get
패키지 서버가 다운되어 장애가 발생했지만 서버가 다시 백업됩니다. 그러나 새 커밋이 푸시 될 때까지 “실패”상태에서 빌드 상태가 “고정되었습니다”.
“더미”커밋을 푸시하는 것 외에 Travis-CI가 다른 빌드를 수행하도록하는 방법이 있습니까?
답변
-
repo에 대한 쓰기 액세스 권한이있는 경우 : 빌드의 세부 사항 화면에 Build 빌드 다시 시작 단추가 있습니다. 또한 “추가 옵션”아래에 트리거 빌드 메뉴 항목이 있습니다.
참고 : Ghostery와 같은 브라우저 확장 프로그램으로 인해 재시작 버튼이 표시되지 않을 수 있습니다. 확장 또는 화이트리스트 트래비스 CI를 비활성화하십시오.
참고 2 :
.travis.yml
업스트림에서 구성이 변경된 경우 다시 작성 버튼을 클릭하면 이전 구성으로 트래비스가 실행됩니다. 트래비스 구성에 업스트림 변경 사항을 적용하려면 PR에 커밋을 추가하거나 닫거나 다시 열어야합니다. -
풀 요청을 보낸 경우 : PR을 닫았다가 다시 열 수 있습니다 . 새로운 빌드가 시작됩니다.
빌드를 다시 시작하십시오.
트리거 빌드 :
답변
당신이 열 경우 설정 GitHub의에서 저장소에 대한 탭을 클릭 통합 및 서비스 찾을 트래비스 CI를 클릭 편집을 당신이 볼 수, 시험 서비스 버튼을 누릅니다. 빌드가 시작됩니다.
답변
커밋을 푸시하지 않고 말했지만 마스터 이외의 지점에서 작업하는 경우 빈 커밋을 커밋하는 것이 편리한 방법입니다.
git commit --allow-empty -m "Trigger"
결국 rebase하고 빈 커밋을 제거 / 제거하고 모든 자식 후크에서 작동합니다 🙂
답변
CI 빌드 및 기타 트리거를 다시 실행하는 다른 방법을 찾았습니다.
git commit --amend --no-edit
변경하지 않고 실행하십시오 . 현재 분기의 마지막 커밋을 다시 만듭니다.git push --force-with-lease origin pr-branch
.
답변
Travis에 로그인하고 빌드 페이지로 이동하십시오. 오른쪽 상단의 톱니 바퀴 아이콘 옆에 ‘빌드 다시 시작’버튼이 표시됩니다.
참고 :이 작업을 수행하려면 연결된 GitHub 저장소에 대한 쓰기 권한이 있어야합니다.
답변
GitHub에 .travis.yml을 가지고 있지만 테스트 된 적이없는 새 프로젝트가있는 경우 다음과 같이 커밋하지 않고 테스트를 실행할 수 있습니다.
답변
Travis CLI를 사용하여이 작업을 수행 할 수 있습니다 . 으로 문서에 설명 , 먼저는 CLI 도구를 설치 :
travis login --org --auto
travis token
이 토큰 TRAVIS_TOKEN
을 보관하는 파일이 공용으로 버전 제어되지 않는 한이 변수를 환경 변수에 보관할 수 있습니다 .
이 함수를 사용하여 트리거를 제출합니다.
function travis_trigger() {
local org=$1 && shift
local repo=$1 && shift
local branch=${1:-master} && shift
body="{
\"request\": {
\"branch\": \"${branch}\"
}
}"
curl -s -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Travis-API-Version: 3" \
-H "Authorization: token $TRAVIS_TOKEN" \
-d "$body" \
"https://api.travis-ci.org/repo/${org}%2F${repo}/requests"
}