Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a9621cb31b | |||
| 4676091b3e | |||
| 595a8d02c0 | |||
| 2d03498232 | |||
| be9ce58b17 | |||
| 30b8f0ed3f | |||
| df3db82cfe | |||
| 20da47165f | |||
| 72d97db784 | |||
| c69b0294fc | |||
| 062a08efc9 | |||
| 94466300ed | |||
| 6ba8b091b4 | |||
| 868b503813 | |||
| c70ec36e90 | |||
| f5c62e0b5e | |||
| 9256356a61 | |||
| d3cc9a2775 | |||
| 8884a61575 | |||
| c22fddffff | |||
| 68194995ff | |||
| 6d9602c961 | |||
| e7bc2a962d | |||
| 698fa9e1d1 | |||
| edc669507c | |||
| 87994b727f | |||
| ebbad36f96 | |||
| 9f9086b0d6 |
Vendored
-90
@@ -1,90 +0,0 @@
|
|||||||
pipeline {
|
|
||||||
agent {
|
|
||||||
kubernetes {
|
|
||||||
defaultContainer 'kubectl'
|
|
||||||
yamlFile '.jenkins/podTemplate.yaml'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
environment {
|
|
||||||
RESOURCE_GROUP = 'tst-aks-rg'
|
|
||||||
CLUSTER_NAME = 'build'
|
|
||||||
DEPLOY_FILES = 'namespace.yaml secret-store.yaml deploy.yaml ingress.yaml'
|
|
||||||
NAMESPACE = 'user-microservice'
|
|
||||||
DEPLOYMENT = 'api'
|
|
||||||
}
|
|
||||||
stages {
|
|
||||||
stage('Checkout') {
|
|
||||||
steps {
|
|
||||||
container('kubectl') {
|
|
||||||
checkout scm
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Login to Azure & Get Kubeconfig') {
|
|
||||||
steps {
|
|
||||||
container('kubectl') {
|
|
||||||
sh '''
|
|
||||||
az login --identity
|
|
||||||
az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --overwrite-existing
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
container('kubelogin') {
|
|
||||||
sh '''
|
|
||||||
kubelogin convert-kubeconfig -l azurecli
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Apply Kubernetes Resources') {
|
|
||||||
steps {
|
|
||||||
container('kubectl') {
|
|
||||||
script {
|
|
||||||
def files = DEPLOY_FILES.tokenize()
|
|
||||||
for (file in files) {
|
|
||||||
sh "kubectl apply -f ${file}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('Verify Deployment') {
|
|
||||||
steps {
|
|
||||||
container('kubectl') {
|
|
||||||
script {
|
|
||||||
// Waiting until all pods reach "ready" status
|
|
||||||
sh '''
|
|
||||||
echo "Waiting for deployment rollout..."
|
|
||||||
kubectl rollout status deployment/$DEPLOYMENT -n $NAMESPACE --timeout=60s
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('Health Check') {
|
|
||||||
steps {
|
|
||||||
container('kubectl') {
|
|
||||||
script {
|
|
||||||
// Check if app is healthy
|
|
||||||
def ingressUrl = "https://user-microservice.marcin00.pl/health"
|
|
||||||
sh """
|
|
||||||
echo "Checking app health ${ingressUrl}..."
|
|
||||||
for i in {1..30}; do
|
|
||||||
if curl -sf $ingressUrl; then
|
|
||||||
echo "Health check OK"
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
echo "Health check failed. Retry \$i..."
|
|
||||||
sleep 5
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo "Health check failed."
|
|
||||||
exit 1
|
|
||||||
"""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
some-label: jenkins-agent
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: kubectl
|
|
||||||
image: mcr.microsoft.com/azure-cli:latest
|
|
||||||
command:
|
|
||||||
- cat
|
|
||||||
tty: true
|
|
||||||
volumeMounts:
|
|
||||||
- name: azure-config
|
|
||||||
mountPath: /root/.azure
|
|
||||||
|
|
||||||
- name: kubelogin
|
|
||||||
image: ghcr.io/int128/kubelogin:latest
|
|
||||||
command:
|
|
||||||
- cat
|
|
||||||
tty: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- name: azure-config
|
|
||||||
emptyDir: {}
|
|
||||||
|
|
||||||
nodeSelector:
|
|
||||||
kubernetes.io/os: linux
|
|
||||||
|
|
||||||
restartPolicy: Never
|
|
||||||
+1
-1
@@ -81,7 +81,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: api
|
- name: api
|
||||||
image: marcin00.azurecr.io/user-microservice:76a351710fffe2be1ae10471bc1a2f511f481126
|
image: marcin00.azurecr.io/user-microservice:6966df2868a406f46347bc49a296458582872c8f
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
env:
|
env:
|
||||||
|
|||||||
Reference in New Issue
Block a user