artifactory update

This commit is contained in:
ybandala 2025-02-12 00:37:19 -06:00
parent 61a131292a
commit 8e6e9f45d9

View file

@ -28,19 +28,27 @@ jobs:
env: env:
JF_URL: ${{ secrets.JF_URL }} JF_URL: ${{ secrets.JF_URL }}
JF_ACCESS_TOKEN: ${{ secrets.JF_ACCESS_TOKEN }} JF_ACCESS_TOKEN: ${{ secrets.JF_ACCESS_TOKEN }}
IMAGE_NAME: petclinic
IMAGE_TAG: ${{ github.sha }}
ARTIFACTORY_URL: petclinicmac.jfrog.io
- name: Build and Push Docker Image to Artifactory - name: Build Docker Image
run: | run: |
# Build the image # Build Docker image
docker build -t ${{ secrets.JF_URL }}/docker-local/petclinic:${{ github.sha }} . docker build -t $IMAGE_NAME:$IMAGE_TAG .
docker tag ${{ secrets.JF_URL }}/docker-local/petclinic:${{ github.sha }} ${{ secrets.JF_URL }}/docker-local/petclinic:latest
# Login to Artifactory # Tag for Artifactory
echo "${{ secrets.ARTIFACTORY_PASSWORD }}" | docker login ${{ secrets.JF_URL }} -u ${{ secrets.ARTIFACTORY_USERNAME }} --password-stdin docker tag $IMAGE_NAME:$IMAGE_TAG $ARTIFACTORY_URL/petclinic-docker/$IMAGE_NAME:$IMAGE_TAG
docker tag $IMAGE_NAME:$IMAGE_TAG $ARTIFACTORY_URL/petclinic-docker/$IMAGE_NAME:latest
- name: Login to Artifactory
run: |
docker login -u${{ secrets.ARTIFACTORY_USERNAME }} ${{ secrets.JF_URL }} -p${{ secrets.ARTIFACTORY_PASSWORD }}
- name: Push Image to Artifactory
# Push images # Push images
docker push ${{ secrets.JF_URL }}/docker-local/petclinic:${{ github.sha }} docker push $ARTIFACTORY_URL/petclinic-docker/$IMAGE_NAME:$IMAGE_TAG
docker push ${{ secrets.JF_URL }}/docker-local/petclinic:latest docker push $ARTIFACTORY_URL/petclinic-docker/$IMAGE_NAME:latest
# - name: Build Docker Image # - name: Build Docker Image
# run: | # run: |
@ -50,13 +58,13 @@ jobs:
- name: Test - name: Test
run: ./mvnw test run: ./mvnw test
- name: Login to dockerhub # - name: Login to dockerhub
run: echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin # run: echo "${{ secrets.DOCKERHUB_PASSWORD }}" | docker login -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
- name: Push Image to Docker Hub # - name: Push Image to Docker Hub
run: | # run: |
docker push ybandala/petclinic:${{ github.sha }} # docker push ybandala/petclinic:${{ github.sha }}
docker push ybandala/petclinic:latest # docker push ybandala/petclinic:latest
# - name: Install kubectl # - name: Install kubectl
# run: | # run: |
@ -74,21 +82,21 @@ jobs:
# # Wait for deployment to complete # # Wait for deployment to complete
# kubectl rollout status deployment/petclinic -n petclinic-dev --timeout=180s # kubectl rollout status deployment/petclinic -n petclinic-dev --timeout=180s
- name: Deploy to Minikube # - name: Deploy to Minikube
run: | # run: |
# Update image path in deployment yaml # # Update image path in deployment yaml
sed -i '' 's|image: .*|image: ${{ secrets.ARTIFACTORY_URL }}/docker-local/petclinic:'${{ github.sha }}'|' k8s/base/deployment.yaml # sed -i '' 's|image: .*|image: ${{ secrets.ARTIFACTORY_URL }}/docker-local/petclinic:'${{ github.sha }}'|' k8s/base/deployment.yaml
# Configure kubectl to pull from Artifactory # # Configure kubectl to pull from Artifactory
kubectl create secret docker-registry artifactory-secret \ # kubectl create secret docker-registry artifactory-secret \
--docker-server=${{ secrets.ARTIFACTORY_URL }} \ # --docker-server=${{ secrets.ARTIFACTORY_URL }} \
--docker-username=${{ secrets.ARTIFACTORY_USERNAME }} \ # --docker-username=${{ secrets.ARTIFACTORY_USERNAME }} \
--docker-password=${{ secrets.ARTIFACTORY_PASSWORD }} # --docker-password=${{ secrets.ARTIFACTORY_PASSWORD }}
# Apply the secret to the namespace # # Apply the secret to the namespace
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "artifactory-secret"}]}' # kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "artifactory-secret"}]}'
# Apply deployment # # Apply deployment
kubectl apply -f k8s/base/ # kubectl apply -f k8s/base/
kubectl rollout status deployment/petclinic --timeout=180s # kubectl rollout status deployment/petclinic --timeout=180s