2 Commits

Author SHA1 Message Date
4901890d0e Created pipeline for Jenkins in Kubernetes cluster 2025-06-12 19:02:29 +00:00
f55776916e Updated managed identity 2025-06-11 18:42:21 +00:00
4 changed files with 17 additions and 39 deletions

View File

@ -1,32 +0,0 @@
FROM debian:bookworm-slim
# Zapobiega interaktywnym promptom
ENV DEBIAN_FRONTEND=noninteractive
# Instalacja zależności systemowych
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
gnupg \
lsb-release \
apt-transport-https \
software-properties-common \
unzip \
bash \
&& rm -rf /var/lib/apt/lists/*
# Instalacja Azure CLI
RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash
# Instalacja kubectl (najświeższa stabilna wersja)
RUN curl -sLo /usr/local/bin/kubectl https://dl.k8s.io/release/v1.33.1/bin/linux/amd64/kubectl \
&& chmod +x /usr/local/bin/kubectl
# Instalacja kubelogin
RUN curl -sLo /tmp/kubelogin.zip https://github.com/Azure/kubelogin/releases/latest/download/kubelogin-linux-amd64.zip \
&& unzip -j /tmp/kubelogin.zip -d /usr/local/bin \
&& chmod +x /usr/local/bin/kubelogin \
&& rm /tmp/kubelogin.zip
# Domyślna komenda po starcie kontenera
CMD ["bash"]

View File

@ -1,6 +1,7 @@
pipeline {
agent {
kubernetes {
defaultContainer 'kubectl'
yamlFile '.jenkins/podTemplate.yaml'
}
}
@ -10,7 +11,6 @@ pipeline {
DEPLOY_FILES = 'namespace.yaml secret-store.yaml deploy.yaml ingress.yaml'
NAMESPACE = 'user-microservice'
DEPLOYMENT = 'api'
CLIENT_ID = 'c302726f-fafb-4143-94c1-67a70975574a'
}
stages {
stage('Checkout') {
@ -24,8 +24,12 @@ pipeline {
steps {
container('kubectl') {
sh '''
az login --identity --client-id ${CLIENT_ID}
az login --identity
az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --overwrite-existing
'''
}
container('kubelogin') {
sh '''
kubelogin convert-kubeconfig -l azurecli
'''
}

View File

@ -6,16 +6,22 @@ metadata:
spec:
containers:
- name: kubectl
image: marcin00.azurecr.io/azure-cli-kubectl:latest
image: mcr.microsoft.com/azure-cli:latest
command:
- cat
tty: true
volumeMounts:
- name: workspace-volume
mountPath: /home/jenkins/agent
- name: azure-config
mountPath: /root/.azure
- name: kubelogin
image: ghcr.io/int128/kubelogin:latest
command:
- cat
tty: true
volumes:
- name: workspace-volume
- name: azure-config
emptyDir: {}
nodeSelector:

View File

@ -81,7 +81,7 @@ spec:
spec:
containers:
- name: api
image: marcin00.azurecr.io/user-microservice:dedd162bb5375ece91f4c98c3a06029f38b409b4
image: marcin00.azurecr.io/user-microservice:76a351710fffe2be1ae10471bc1a2f511f481126
ports:
- containerPort: 80
env: