Travis-CIを使用して、GitHubに新しいコミットをプッシュせずに再構築を引き起こすことは可能ですか?
ユースケース:外部性のためにビルドが失敗します。情報源は実際に正しいです。単に再実行すれば問題なく動作します。
たとえば、apt-get
はパッケージサーバーがダウンしているために失敗しますが、サーバーは再びバックアップされています。しかし、新しいコミットがプッシュされるまで、ビルドステータスは「失敗」で「停止」になります。
Travis-CIをナッジして別のビルドを実行する方法はありますか(「ダミー」コミットをプッシュする以外に)?
リポジトリへの書き込み権限がある場合:ビルドの詳細画面には、↻のボタンがありますツールチップ "Build Build".
注:Ghosteryのようなブラウザ拡張機能は再起動ボタンが表示されないようにするかもしれません。拡張機能またはホワイトリストのTravis CIを無効にしてみてください。
注2:.travis.yml
の設定が上流で変更された場合、再構築ボタンをクリックすると古い設定でtravisが起動します。 travis設定にアップストリームの変更を適用するには、PRにcommitを追加するか、PRをクローズ/オープンし直す必要があります。
プルリクエストを送信した場合:PRを クローズしてから再度オープンすることができます 。これは新しいビルドを引き起こします。
GitHubでリポジトリのSettingsタブを開いた場合は、Integrations&servicesをクリックしてくださいTravis CIをクリックし、編集をクリックすると、Test Serviceと表示されます/ボタンこれはビルドを引き起こします。
私はあなたがコミットをプッシュせずに言ったことを知っていますが、もしあなたがマスター以外のブランチで作業しているなら便利なことは空のコミットをコミットすることです。
git commit --allow-empty -m "Trigger"
最後にリベースしてスカッシュを削除したり、空のコミットを削除したり、すべてのgitフックで機能します。
CIビルドやその他のトリガーを強制的に再実行する別の方法を見つけました。
git commit --amend --no-edit
を実行します。これは現在のブランチの最後のコミットを再作成します。git Push --force-with-lease Origin pr-branch
。Travisにログインしてビルドページに行きます。歯車アイコンの横にある右上隅に「再構築」ボタンが表示されます。
注:これを機能させるには、リンクされたGitHubリポジトリへの書き込みアクセス権が必要です。
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"
}
Travis CIクライアント をインストールした場合は、travis restart <job#>
を使用して手動でコンソールからビルドを再実行できます。 travis show <branch>
を使ってブランチの最後のジョブを見つけることができます。
travis show master
travis restart 48 #use Job number without .1
travis logs master
UPDATE:残念ながら、これは最新のコミットを使って新しいビルドを開始するのではなく、リポジトリの以前の状態を使って以前のビルドを再起動するだけのようです。
ここで、Web上で新しいビルドをトリガーする手段が得られたことに言及してください。詳細については https://blog.travis-ci.com/2017-08-24-trigger-custom-build を参照してください。
TL; DR "More options"をクリックして "Trigger build"を選択してください。
ビルドが一度も行われなかった場合(おそらくPull-Requestビルドスイッチが間に合わなかった場合)、GithubのPull Requestをclosedとマークしてからopenとマークすると新しいビルドがトリガーされます。
これは私がDependabotがオープンしたが、.travis.yml
のエラーのために失敗したPRの再構築を引き起こすのに役立ったものです:
dependabot/cargo/tempfile-3.0.4
のようなもの)。