Google Assistant에게 말하기만 하면 Jenkins에서 빌드
할 일
Google Home이나 Android 스마트폰등의 Google Assistant 탑재 디바이스에 「빌드 해」라고 말을 걸기만 하면, Jenkins로 빌드합니다. 각 서비스 간의 연계는 IFTTT을 이용합니다.
전제
구성 1. IFTTT Webhook에서 직접 Jenkins 빌드
구성으로는 다음과 같습니다. IFTTT Webhook에 Jenkins 빌드 요청을 직접 지정합니다.
다음은 IFTTT 설정입니다. 왼쪽은 Google Assistant이고 오른쪽은 Webhooks입니다.
위 설정에 따라 Google Home 및 Android 스마트 폰과 같은 Google Assistant 기기에
"빌드하고"라고 말하면 (왼쪽 설정),
http://user:API 토큰@35.184.206.154//jenkins/job/test_build/build?token=testtoken 에 액세스하여(오른쪽 설정) 빌드가 시작됩니다.
구성 2. IFTTT Webhook → FaaS → Jenkins 빌드
구성으로는 다음과 같습니다. IFTTT 웹훅에 AWS Lambda 또는 GCP Cloud Functions와 같은 FaaS을 지정하고 거기에서 Jenkins에 빌드 요청을 보냅니다. 여기에서는, 「Google Cloud Functions에서 Slack에 알림 보내기 」로 사용한 Function을 이용해 실시했습니다. 이 구성으로 콜백 처리를 지정할 수도 있습니다.
IFTTT 설정은 "구성 1"과 동일합니다. 그러나 Webhook 측은 FaaS URL을 지정합니다.
Cloud Functions 측의 소스는 다음과 같은 느낌입니다.
index.js
const request = require('request');
exports.build= function build(req, res) {
var headers = {
'Content-Type':'text/plain'
}
var options = {
url: 'http://user:APIトークン@35.184.206.154/jenkins/job/test_build/build?token=testtoken',
method: 'GET',
headers: headers
}
request(options, function (error, response, body) {
// コールバック処理
})
res.status(200).send('Success');
};
package.json
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"request": "^2.81.0"
}
}
이상입니다.
실무로 이용할 수 있을지 어떨지를 제외하고, 무언가의 참고가 되면 좋겠습니다.
참고
Jenkins 빌드 작업의 원격 실행에 대해서는 다음을 참고했습니다.
h tps : // 토모 카즈 코즈마. 코 m / 호 w-- 에우 쿠테 - ㅇ ㅇ 킨 s - 쵸- 레테 ly /
htp://sym 포 균열. bぉg68. FC2. 소 m/bぉg-엔try-1902. html
Reference
이 문제에 관하여(Google Assistant에게 말하기만 하면 Jenkins에서 빌드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/NagaokaKenichi/items/abf95414b087d2b59fde텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)