1
Jenkinsの起動スクリプトの出力をキャプチャしようとしていますが、空の出力しか得られません。Jenkinsの起動ログをキャプチャする方法
ジェンキンスの出力は、私がTTYの出力をキャプチャするためにも、試してみた#!/bin/bash
function sendNotificationOnSlack() {
curl -X POST ...
}
export -f sendNotificationOnSlack
java -Dhudson.DNSMultiCast.disabled=true -jar /usr/local/opt/jenkins/libexec/jenkins.war --httpPort=3999 | awk '/Jenkins is fully up and running/ {system("bash -c sendNotificationOnSlack")}'
の端末に表示されますが、私はどこでも検索してみましたが、私
#!/bin/bash
currentTTY=$(tty)
echo $currentTTY
function sendNotificationOnSlack() {
curl -X POST ...
}
export -f sendNotificationOnSlack
java -Dhudson.DNSMultiCast.disabled=true -jar /usr/local/opt/jenkins/libexec/jenkins.war --httpPort=3999
tail -f $currentTTY | awk '/Jenkins is fully up and running/ {system("bash -c sendNotificationOnSlack")}'
として空の見える
jenkins.logファイルを見つけることができません、誰もが何か示唆を持っていますか?
私は全くわからないんだけどあなたが出力をキャプチャする必要がある場合は、たぶんジェンキンスをあるプロセスで起動させ、別のプロセスからログを取得する必要があります。つまり、あなたは出力を「tee」する必要があるかもしれません(そうそうです)。(http://stackoverflow.com/questions/692000/how-do-i-write-stderr-to-a-file-while-using-tee-パイプでファイルを処理し、そこから処理し、パイプを 'awk'に取り除きます。 'awe'は' tee'によって書かれたファイルでも使用できます – alok
また、 '/ var/log/jenkins/jenkins.log'の中にログが入ることを望まないと仮定していますか? – alok
@alok返事をありがとう。問題は、出力が捕捉されず、パイプで 'awk'がシェルに表示されても(リダイレクトされていないが、まだ同じ場所に行き着いている)ということです。 私はすでに '/ var/log/jenkins /'をチェックしていて、そのフォルダは空です –