Compare commits

..

4 Commits

4 changed files with 39 additions and 17 deletions

32
.jenkins/Dockerfile Normal file
View File

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

View File

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

View File

@ -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:a79ae2d50f2fc3dfcf976eb2a8ebe32511ae4a33
ports: ports:
- containerPort: 80 - containerPort: 80
env: env: