젠킨스를 슬랙에서 관리하는 방법

안톤 스미르노프
2020 년 8 월 23 일·6 분 읽기

테스트 자동화는 응용 프로그램을 자동화하는 것이 아닙니다. 테스트 결과를 프로그래밍 방식으로 팀과 공유하는 것도 테스트 자동화의 일부입니다. 따라서 팀은 결과를 얻기 위해 개인에 의존하지 않습니다. 또한 팀은 지연 없이 테스트 결과에 따라 추가 조치를 취할 수 있습니다.

이 글에서,우리는 우리가 여유 테스트 결과를 공유 할 수있는 방법을 볼 수 있습니다. 또한 젠킨스 도구에서 자동화 된 테스트 스위트 실행을 트리거 할 수있는 방법.

슬랙

우리는 조직에서 슬랙을 사용합니다. 또한 조직의 팀 구성원 간에 정보를 전달하기 위해 여유를 사용할 수도 있습니다. 슬랙은 훌륭한 도구이며 모든 사람을 최신 상태로 유지하고 불필요한 이메일을 줄입니다.

슬랙은 어떤 일을 하든 업무의 협업 허브입니다. 그것은 대화가 일어나는 곳,의사 결정이 이루어집니다,그리고 정보는 여러분의 손끝에 항상. 여유와 함께,당신의 팀은 더 나은 연결되어 있습니다.
당신은 온-오프이 응용 프로그램을 사용할 수 있습니다.쩐쨀챌쩌쩌쩔채.

나는 우리 대부분이 지속적인 자동화 된 테스트를 위해 젠킨스를 사용한다고 가정합니다. 이 문서에서 그래서,나는 젠킨스와 여유를 통합하는 단계를 제공하고 있습니다. 팀 시티,대나무 등과 같은 다른 도구를 사용하는 경우 프로세스는 여전히 거의 동일합니다.

여유:

  • https://slack.com
  • 로 이동’젠킨스’앱 검색

  • 팀 도메인 및 토큰의 메모를 확인
  • 우리는 결과를 제기 할 채널을 선택

젠킨스

  • 젠킨스 관리로 이동->플러그인 관리->사용 가능한 탭
  • 여유 설치 알림 플러그인
  • 슬랙 도메인 및 토큰 업데이트=>젠킨스 관리->시스템 구성->글로벌 슬랙 알리미 설정

  • ‘연결 테스트’를 클릭하십시오—젠킨스의’성공’메시지와 슬랙 채널의 아래 메시지가 표시됩니다.

젠킨스-테스트 작업

  • 테스트를위한 젠킨스 작업 만들기
  • 빌드 후 작업을 다음과 같이 업데이트하십시오.

젠킨스 파이프 라인

당신은 플러그인에 호출을 추가해야합니다

slackSend color: 'good', message: 'Message from Jenkins Pipeline'

다음으로,우리는 메시지의 정확한 색상과 정보 텍스트를 결정해야합니다:

def notifySlack(String buildStatus = 'STARTED') {
// Build status of null means success.
buildStatus = buildStatus ?: 'SUCCESS'
def color
if (buildStatus == 'STARTED') {
color = '#D4DADF'
} else if (buildStatus == 'SUCCESS') {
color = '#BDFFC3'
} else if (buildStatus == 'UNSTABLE') {
color = '#FFFE89'
} else {
color = '#FF9FA1'
}
def msg = "${buildStatus}: `${env.JOB_NAME}` #${env.BUILD_NUMBER}:\n${env.BUILD_URL}"
slackSend(color: color, message: msg)
}
node {
try {
notifySlack()
sh 'runbuild'
} catch (e) {
currentBuild.result = 'FAILURE'
throw e
} finally {
notifySlack(currentBuild.result)
}
}

요약

연속 테스트 프로세스의 일부로 젠킨스를 사용하여 자동화된 스크립트를 주기적으로 실행합니다. 테스트 엔지니어 인 당신 만이 대부분 결과를 알고 있습니다. 다른 팀 구성원이 테스트 결과를 인식하지 못할 수 있습니다. 자동화 된 도구를 사용하여 자동화 된 스크립트를 만들 수 있습니다.

새 사용자 만들기

슬랙이 사용할 젠킨스에 새 사용자를 만들어 보겠습니다. 이 토큰은 다음과 같습니다.

이 여유 사용자가 작업을 트리거하기에 충분한 액세스 권한이 있다고 가정합니다.

아래 컬 명령을 실행하여 사용자가 작업을 호출할 수 있는지 확인합니다.

내 콘텐츠를 적절한 정보로 바꿉니다.

curl -X POST http://@/job//build

내 경우에는 다음과 같이 시도했습니다.

curl -X POST http://slack:[email protected]:8080/job/TEST_SMOCK_SLACK_JOB_DEMO/build

슬랙 슬래시 명령

위의 젠킨스 작업을 호출하려면 슬랙의 슬래시 명령을 사용하는 것입니다. 그래서 슬래시 뒤에 무언가를 입력 할 때마다—예:’/스모키 테스트’—슬랙은 명령으로 취급하고 명령에 응답 할 수 있습니다. 그래서,그 예를 들어,여유는 도시에 대한 일기 예보를 제공하도록 구성 할 수 있습니다.

위의 젠킨스 작업을 호출하려면 슬랙의 슬래시 명령을 사용합니다. 그래서 슬래시 뒤에 무언가를 입력 할 때마다—예:’/스모키 테스트’—슬랙은 명령으로 취급하고 명령에 응답 할 수 있습니다. 그래서,그 예를 들어,여유는 도시에 대한 일기 예보를 제공하도록 구성 할 수 있습니다.

  • 슬랙 구성으로 이동하여 슬래시 구성을 추가합니다.
  • 나는 연기 테스트 명령을 만들거야—그래서 내 팀은 응용 프로그램의 상태를 확인하기 위해 여유에서 연기 테스트를 트리거 할 수 있습니다.

  • 여기에 표시된 대로 통합 설정을 추가합니다. 젠킨스 작업을 트리거하기 위해 호출해야 할 주소를 제공합니다.

  • 자동 완성 도움말을 선택합니다

  • 구성이 완료되면,당신은 당신의 여유 시간에 즉시 확인할 수 있습니다. 그냥’/의’를 입력-당신은’흡연’명령을 볼 수 있었다

  • 명령 호출-젠킨스가 작업을 트리거 할 수 있는지 확인하십시오.

  • 작업에 매개 변수가 필요한 경우 다음 형식을 사용하여 기본 매개 변수를 사용하여 작업을 호출합니다.
curl -X POST http://@/job//buildWithParameters
  • 특정 매개 변수를 전달해야 하는 경우 매개 변수에 변수와 값을 추가하면 됩니다.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
  • 작업의 상태/결과를 가져오려면 결과를 다시 슬랙에 게시하도록 작업을 구성해야 합니다. 당신은 여기에 기사를 확인할 수 있습니다.

참고

  • 위의 접근 방식을 작동 시키려면 젠킨스 서버에 여유 공간이 있어야합니다. 방화벽에 의해 차단되지 않았는지 확인합니다.

요약

여유 명령은 매우 유용하며 정보를 얻거나 자주 수행 할 수있는 작업을 트리거하는 데 유용합니다. 이렇게 하면 팀의 기술자가 아닌 사용자가 슬래시 명령을 직접 호출하여 자동화된 테스트 스크립트를 사용하도록 만들 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.