【Hubot】 채팅에서 Hubot과 Jenkins를 통해 EC2 인스턴스의 상태를 조작
소개
AWS CLI의 공부가 엄청나게 해본 내용입니다.
1 채팅 도구로 Jenkins의 작업 실행을 주장
2 Hubot이 Jenkins에게 작업을 실행하라고 전달
3 Jenkins가 작업에 등록 된 인스턴스를 파괴 (Terminate)하는 명령을 실행
원격으로 손쉽게 서버를 조작할 수 있는 것이 편리합니다.
채팅 도구는 'slack', 'Hipchat', 'chatwork', 둘 다 괜찮습니다.
(chatwork에서 했습니다)
Hubot 설정
Jenkins와 협력해야합니다.
그렇다고 해도 스크립트를 작성할 필요가 없습니다.
'hubot-scripts.json'을 수정합니다.
hubot-scripts.json["jenkins.coffee"]
그런 다음 Jenkins 연동을 위한 환경 변수를 설정합니다.
export HUBOT_JENKINS_URL=YourJenkinsUrl
export HUBOT_JENKINS_AUTH=xxxxxx:xxxxxx
'HUBOT_JENKINS_AUTH'에는 콜론으로 구분하여 Jenkins 사용자 이름과 비밀번호를 입력하세요.
이제 Hubot 설정은 이상입니다.
Jenkins 작업 설정
본선에서 벗어나므로 자세히 설명하지 않지만 Jenkins가 실행되는 서버에 AWS CLI를 설치하여 명령 작업을 할 수 있는 상태로 둡니다.
또한,
AWS Management Console
↓
오른쪽 상단 메뉴 "Security Credentials"
↓
Access Keys (Access Key ID and Secret Access Key)
에서 「Access Key ID」와 「Secret Access Key」를 앞두고 둔다.
에서 작업을 만들고 쉘 스크립트를 작성합니다.
export WORKSPACE
sh -x ${WORKSPACE}/instart.sh
저장합니다.
실행 파일에서 방금 "Access Key ID"와 "Secret Access Key"를 입력합니다.
XXXX.sh
#!/bin/bash -xe
aws configure set aws_access_key_id AWSアクセスキーID
aws configure set aws_secret_access_key AWSシークレットアクセスキーID
aws ec2 terminate-instances --region=ap-northeast-1 --instance-ids=インスタンスID
Jenkins 쪽도 이것으로 이상입니다.
chatwork에서 실행
그리고는 금단의 대사를 주창할 뿐입니다.
잘하면 파괴에 성공할 것입니다.
마지막으로
미국의 핵 전략 미사일 발사 과정과 유사합니다.
엄청 단순히 해석하면
대통령(사용자)이 명령
↓
보좌관·취권(Hubot)이 시크릿 코드를 송신
↓
SSBN의 사관연중(Jenkins)이 받은 시크릿 코드를 바탕으로 협의·합의
↓
발사
Reference
이 문제에 관하여(【Hubot】 채팅에서 Hubot과 Jenkins를 통해 EC2 인스턴스의 상태를 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kingpanda/items/c831bdf66c243fdcb4fd
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Jenkins와 협력해야합니다.
그렇다고 해도 스크립트를 작성할 필요가 없습니다.
'hubot-scripts.json'을 수정합니다.
hubot-scripts.json
["jenkins.coffee"]
그런 다음 Jenkins 연동을 위한 환경 변수를 설정합니다.
export HUBOT_JENKINS_URL=YourJenkinsUrl
export HUBOT_JENKINS_AUTH=xxxxxx:xxxxxx
'HUBOT_JENKINS_AUTH'에는 콜론으로 구분하여 Jenkins 사용자 이름과 비밀번호를 입력하세요.
이제 Hubot 설정은 이상입니다.
Jenkins 작업 설정
본선에서 벗어나므로 자세히 설명하지 않지만 Jenkins가 실행되는 서버에 AWS CLI를 설치하여 명령 작업을 할 수 있는 상태로 둡니다.
또한,
AWS Management Console
↓
오른쪽 상단 메뉴 "Security Credentials"
↓
Access Keys (Access Key ID and Secret Access Key)
에서 「Access Key ID」와 「Secret Access Key」를 앞두고 둔다.
에서 작업을 만들고 쉘 스크립트를 작성합니다.
export WORKSPACE
sh -x ${WORKSPACE}/instart.sh
저장합니다.
실행 파일에서 방금 "Access Key ID"와 "Secret Access Key"를 입력합니다.
XXXX.sh
#!/bin/bash -xe
aws configure set aws_access_key_id AWSアクセスキーID
aws configure set aws_secret_access_key AWSシークレットアクセスキーID
aws ec2 terminate-instances --region=ap-northeast-1 --instance-ids=インスタンスID
Jenkins 쪽도 이것으로 이상입니다.
chatwork에서 실행
그리고는 금단의 대사를 주창할 뿐입니다.
잘하면 파괴에 성공할 것입니다.
마지막으로
미국의 핵 전략 미사일 발사 과정과 유사합니다.
엄청 단순히 해석하면
대통령(사용자)이 명령
↓
보좌관·취권(Hubot)이 시크릿 코드를 송신
↓
SSBN의 사관연중(Jenkins)이 받은 시크릿 코드를 바탕으로 협의·합의
↓
발사
Reference
이 문제에 관하여(【Hubot】 채팅에서 Hubot과 Jenkins를 통해 EC2 인스턴스의 상태를 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kingpanda/items/c831bdf66c243fdcb4fd
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
export WORKSPACE
sh -x ${WORKSPACE}/instart.sh
#!/bin/bash -xe
aws configure set aws_access_key_id AWSアクセスキーID
aws configure set aws_secret_access_key AWSシークレットアクセスキーID
aws ec2 terminate-instances --region=ap-northeast-1 --instance-ids=インスタンスID
그리고는 금단의 대사를 주창할 뿐입니다.
잘하면 파괴에 성공할 것입니다.
마지막으로
미국의 핵 전략 미사일 발사 과정과 유사합니다.
엄청 단순히 해석하면
대통령(사용자)이 명령
↓
보좌관·취권(Hubot)이 시크릿 코드를 송신
↓
SSBN의 사관연중(Jenkins)이 받은 시크릿 코드를 바탕으로 협의·합의
↓
발사
Reference
이 문제에 관하여(【Hubot】 채팅에서 Hubot과 Jenkins를 통해 EC2 인스턴스의 상태를 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kingpanda/items/c831bdf66c243fdcb4fd
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(【Hubot】 채팅에서 Hubot과 Jenkins를 통해 EC2 인스턴스의 상태를 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kingpanda/items/c831bdf66c243fdcb4fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)