지난 시간에 AKS와 ACR을 연동해보았습니다. 이번에는 최초에 만들었던 Azure DevOps 의 PipeLine 을 이용하여 AKS에 배포 하는 실습을 하겠습니다.
Azure DevOps Pipeline <-> AKS 연동
Azure DevOps>Pipeline>pipelines 에서 New Pipeline 을 클릭
너의 코드는 어디있는지? Azure Repos Git 클릭
자동으로 검색되는 repos.. 생성했던 'joonTest' 선택
배포하고자하는 서비스 'Deploy to Azure Kubernetes Service' 선택
자동으로 검색되는 내 구독에서
클릭하면 어떻게 배포를 진행할 것인지 나온다.
배포 네임스페이스 : devops-php
ACR에 쓰일 이미지이름 : joontest
service port : 80
마지막으로 배포될 pipeline yaml !!
Save and run 버튼을 살포시 눌러주면~
메시지와 설명을 입력하고 save and run!!
오오... 빌드중
배포중...
완료!
클러스터 배포 확인
kubectl get svc -n devops-php
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
joontest LoadBalancer 10.0.5.82 20.200.227.41 80:30352/TCP 3m15s
서비스 조회 시 나온 external-ip 로 접근하면 된다.
Source Code Push 해보기(CI-CD)
지금까지 AzureDevOps와 AKS의 CI-CD Pipeline 구성이 완료되었다.
그럼 이제 실제 개발자가 push 하고 CI-CD가 이뤄지는 것을 확인해보자!
test.php 페이지 작성
<html>
<head> </head>
<body>
<input type="text" size="10" id="sample" />
<button onclick="a();">눌러</button>
<script>
function a() {
var a = RegExp("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}");
var sample = document.getElementById("sample").value;
if (a.test(sample)) {
alert("올바른 IP 형식입니다.");
} else {
alert("올바른 IP 형식이 아닙니다.");
}
}
</script>
</body>
</html>
간단히 인풋 하나와 ip체크 검증하는 자바스크립트를 추가하였다.
repo에 push하기
AzureDevOps CI-CD 구경
필자는 초기생성한 PHP 앱서비스를 삭제를 안했기에 2가지의 CI 가 존재함
빌드 작업이 QUEUE에 들어가 순차적으로 빌드가 진행되는 것 같음
배포가 진행되가고...
완료가 되면..!
웹으로 접속해보자!
Next..
지금까지 AzureDevOps Pipeline을 이용하여 AKS 와 연동하는 것을 진행했는데, 정말 쉽다.
예전에는 쿠버네티스 환경 구축도 힘들었던 것 같은데 재작년부터인가? rancher로도 손쉽게 올릴 수 있어서 좋다.
다음 포스팅은 jenkins를 올려서 AzureDevOps 와 연동하는 것을 하겠다.
'엔지니어링 > CI-CD' 카테고리의 다른 글
[Github Actions] CI-CD Pipeline 구축 테스트 (0) | 2022.12.03 |
---|---|
[Jenkins] Gitlab Private Repogitory 가져오기 (0) | 2022.08.11 |
[AzureDevOps] CI-CD 구축하기-4탄 (0) | 2022.07.29 |
[AzureDevOps] CI-CD 구축하기-3탄 (0) | 2022.07.29 |
[AzureDevOps] CI-CD 구축하기-2탄 (0) | 2022.07.29 |