DevOps 관리자 또는 개발자는 Automation Pipelines의 기능을 확장하는 사용자 지정 스크립트를 생성할 수 있습니다.
스크립트를 사용하여 애플리케이션을 구축, 테스트 및 배포하는 고유한 CICD(지속적 통합 및 전달) 툴 및 API와 Automation Pipelines을 통합할 수 있습니다. 사용자 지정 스크립트는 특히 애플리케이션 API를 공개적으로 노출하지 않는 경우에 유용합니다.
사용자 지정 스크립트는 Automation Pipelines과 통합되는 빌드, 테스트 및 배포 도구에 필요한 거의 모든 작업을 수행할 수 있습니다. 예를 들어 스크립트는 파이프라인 업무 공간에서 작동하여 애플리케이션을 구축 및 테스트하는 지속적 통합 작업과 애플리케이션을 배포하는 지속적 전달 작업을 지원할 수 있습니다. 또한 파이프라인이 완료되면 Slack에 메시지를 보내는 등의 작업을 수행할 수 있습니다.
Automation Pipelines 파이프라인 업무 공간은 지속적 통합 작업 및 사용자 지정 작업을 위해 Docker 및 Kubernetes를 지원합니다.
업무 공간 구성에 대한 자세한 내용은 파이프라인 작업 공간 구성에서 참조하십시오.
지원되는 언어 중 하나로 사용자 지정 스크립트를 작성합니다. 스크립트에서 비즈니스 논리를 포함하고 입력과 출력을 정의합니다. 출력 유형에는 숫자, 문자열, 텍스트 및 암호가 포함될 수 있습니다. 다양한 비즈니스 논리, 입력 및 출력을 사용하여 여러 버전의 사용자 지정 스크립트를 생성할 수 있습니다.
생성한 스크립트는 Automation Pipelines 인스턴스에 상주합니다. YAML 코드를 가져와서 사용자 지정 통합을 생성하거나 스크립트를 YAML 파일로 내보내서 다른 Automation Pipelines 인스턴스에서 사용할 수 있습니다.
파이프라인이 사용자 지정 작업에서 릴리스된 스크립트 버전을 실행하도록 합니다. 릴리스된 버전이 여러 개 있는 경우 그 중 하나를 최신으로 설정할 수 있습니다. 그러면 사용자 지정 작업을 선택할 때 최신 -->이 함께 표시됩니다.
파이프라인에서 사용자 지정 통합을 사용하는 경우 사용자 지정 통합을 삭제하려고 하면 오류 메시지가 표시되고 삭제할 수 없음을 나타냅니다.
사용자 지정 통합을 삭제하면 사용자 지정 스크립트의 모든 버전이 제거됩니다. 임의의 스크립트의 버전을 사용하는 사용자 지정 작업이 있는 기존 파이프라인은 실패합니다. 기존 파이프라인이 실패하지 않도록 하려면 더 이상 사용하지 않으려는 스크립트 버전을 폐기하고 철회하면 됩니다. 해당 버전을 사용하는 파이프라인이 없는 경우 이를 삭제할 수 있습니다.
수행할 작업... | 이 작업에 대한 자세한 내용... |
---|---|
파이프라인에 사용자 지정 작업을 추가합니다. |
사용자 지정 작업:
|
사용자 지정 작업에서 스크립트를 선택합니다. |
스크립트에서 입력 및 출력 속성을 선언합니다. |
파이프라인을 저장한 다음 사용하도록 설정하고 실행합니다. |
파이프라인이 실행되면 사용자 지정 작업이 지정된 스크립트를 호출하고 스크립트 내의 비즈니스 논리를 실행합니다. 그러면 구축, 테스트 및 배포 도구가 Automation Pipelines과 통합됩니다. |
파이프라인이 실행되면 실행을 살펴봅니다. |
파이프라인에서 예상한 결과를 전달했는지 확인합니다. |
사용자 지정 통합 버전을 호출하는 사용자 지정 작업을 사용하는 경우 사용자 지정 환경 변수를 파이프라인 작업 공간 탭에 이름-값 쌍으로 포함할 수 있습니다. 빌더 이미지가 CI 작업을 실행하고 이미지를 배포하는 작업 공간 컨테이너를 생성하는 경우 Automation Pipelines은 컨테이너에 환경 변수를 전달합니다.
예를 들어 Automation Pipelines 인스턴스에 웹 프록시가 필요하고 Docker 호스트를 사용하여 사용자 지정 통합을 위한 컨테이너를 생성하는 경우 Automation Pipelines은 파이프라인을 실행하고 이 컨테이너에 웹 프록시 설정 변수를 전달합니다.
이름 | 값 |
---|---|
HTTPS_PROXY | http://10.0.0.255:1234 |
https_proxy | http://10.0.0.255:1234 |
NO_PROXY | 10.0.0.32, *.dept.vsphere.local |
no_proxy | 10.0.0.32, *.dept.vsphere.local |
HTTP_PROXY | http://10.0.0.254:1234 |
http_proxy | http://10.0.0.254:1234 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
이름-값 쌍은 사용자 인터페이스에 다음과 같이 나타납니다.
이 예는 Automation Pipelines을 Slack 인스턴스에 연결하고 메시지를 Slack 채널에 게시하는 사용자 지정 통합을 생성합니다.
사전 요구 사항
- 사용자 지정 스크립트를 작성하려면 Python 2, Python 3, Node.js와 같은 언어 중 하나 또는 Bash, sh 또는 zsh와 같은 셸 언어가 있는지 확인합니다.
- 설치된 Node.js 또는 Python 런타임을 사용하여 컨테이너 이미지를 생성합니다.
프로시저
결과
축하합니다! Automation Pipelines을 Slack 인스턴스에 연결하고 메시지를 Slack 채널에 게시하는 사용자 지정 통합 스크립트를 생성했습니다.
다음에 수행할 작업
소프트웨어 릴리스 수명 주기 자동화에서 Automation Pipelines의 기능을 확장할 수 있도록 파이프라인에서 사용자 지정 작업 사용을 지원하는 사용자 지정 통합을 계속 생성합니다.